Finish new Change Pod Wizard (and some other small changes)

This commit is contained in:
Bart Sopers 2020-09-29 20:53:12 +02:00
parent bc817d10f9
commit 8af6519687
102 changed files with 1440 additions and 2807 deletions

View file

@ -283,8 +283,6 @@ dependencies {
implementation "com.jjoe64:graphview:4.0.1"
implementation "com.joanzapata.iconify:android-iconify-fontawesome:2.2.2"
implementation 'com.madgag.spongycastle:core:1.58.0.0'
// Omnipod wizard
implementation(name: "com.atech-software.android.library.wizardpager-1.1.4", ext: "aar")
implementation("com.google.android:flexbox:0.3.0") {
exclude group: "com.android.support"
}

View file

@ -36,7 +36,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyL
import info.nightscout.androidaps.plugins.pump.insight.LocalInsightFragment
import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicFragment
import info.nightscout.androidaps.plugins.pump.medtronic.dialog.RileyLinkStatusDeviceMedtronic
import info.nightscout.androidaps.plugins.pump.omnipod.ui.OmnipodFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.OmnipodOverviewFragment
import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpFragment
import info.nightscout.androidaps.plugins.source.BGSourceFragment
import info.nightscout.androidaps.plugins.treatments.TreatmentsFragment
@ -68,7 +68,7 @@ abstract class FragmentsModule {
@ContributesAndroidInjector abstract fun contributesLoopFragment(): LoopFragment
@ContributesAndroidInjector abstract fun contributesMaintenanceFragment(): MaintenanceFragment
@ContributesAndroidInjector abstract fun contributesMedtronicFragment(): MedtronicFragment
@ContributesAndroidInjector abstract fun contributesOmnipodFragment(): OmnipodFragment
@ContributesAndroidInjector abstract fun contributesOmnipodFragment(): OmnipodOverviewFragment
@ContributesAndroidInjector abstract fun contributesNSProfileFragment(): NSProfileFragment
@ContributesAndroidInjector abstract fun contributesNSClientFragment(): NSClientFragment
@ContributesAndroidInjector

View file

@ -12,7 +12,11 @@ import info.nightscout.androidaps.activities.PreferencesActivity
import info.nightscout.androidaps.dialogs.ProfileSwitchDialog
import info.nightscout.androidaps.events.EventConfigBuilderChange
import info.nightscout.androidaps.events.EventPumpStatusChanged
import info.nightscout.androidaps.interfaces.*
import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.CommandQueueProvider
import info.nightscout.androidaps.interfaces.PluginBase
import info.nightscout.androidaps.interfaces.PluginType
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
@ -27,6 +31,7 @@ import info.nightscout.androidaps.plugins.profile.local.LocalProfilePlugin
import info.nightscout.androidaps.plugins.profile.ns.NSProfileFragment
import info.nightscout.androidaps.plugins.profile.ns.NSProfilePlugin
import info.nightscout.androidaps.plugins.pump.omnipod.OmnipodPumpPlugin
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.ChangePodWizardActivity
import info.nightscout.androidaps.setupwizard.elements.*
import info.nightscout.androidaps.setupwizard.events.EventSWUpdate
import info.nightscout.androidaps.utils.AndroidPermission
@ -299,18 +304,6 @@ class SWDefinition @Inject constructor(
.option(PluginType.PUMP, R.string.configbuilder_pump_description)
.label(R.string.configbuilder_pump))
.add(SWBreak(injector))
.add(SWInfotext(injector)
.label(R.string.setupwizard_pump_pump_not_initialized)
.visibility(SWValidator { !isPumpInitialized(activePlugin.activePump) }))
// BEGIN OMNIPOD
.add(SWInfotext(injector)
.label(R.string.setupwizard_pump_waiting_for_riley_link_connection)
.visibility(SWValidator {
val activePump = activePlugin.activePump
activePump is OmnipodPumpPlugin && !activePump.isRileyLinkReady
}))
// TODO after refactoring Pod (de)activation Wizards, start init Pod activity from here
// END OMNIPOD
.add(SWButton(injector)
.text(R.string.pumpsetup)
.action(Runnable {
@ -322,6 +315,35 @@ class SWDefinition @Inject constructor(
}, null)
})
.visibility(SWValidator { (activePlugin.activePump as PluginBase).preferencesId > 0 }))
.add(SWInfotext(injector)
.label(R.string.setupwizard_pump_pump_not_initialized)
.visibility(SWValidator { !activePlugin.activePump.isInitialized }))
// BEGIN OMNIPOD
.add(SWInfotext(injector)
.label(R.string.setupwizard_pump_waiting_for_riley_link_connection)
.visibility(SWValidator {
val activePump = activePlugin.activePump
activePump is OmnipodPumpPlugin && !activePump.isRileyLinkReady
}))
.add(SWInfotext(injector)
.label(R.string.setupwizard_pump_waiting_for_pod_change)
.visibility(SWValidator {
val activePump = activePlugin.activePump
activePump is OmnipodPumpPlugin && activePump.isRileyLinkReady && !activePump.isInitialized
}))
.add(SWButton(injector)
.text(R.string.setupwizard_pump_omnipod_change_pod)
.action(Runnable {
protectionCheck.queryProtection(activity, ProtectionCheck.Protection.PREFERENCES, Runnable {
val i = Intent(activity, ChangePodWizardActivity::class.java)
activity.startActivity(i)
}, null)
})
.visibility(SWValidator {
val activePump = activePlugin.activePump
activePump is OmnipodPumpPlugin && activePump.isRileyLinkReady && !activePump.isInitialized
}))
// END OMNIPOD
.add(SWButton(injector)
.text(R.string.readstatus)
.action(Runnable { commandQueue.readStatus("Clicked connect to pump", null) })
@ -329,13 +351,9 @@ class SWDefinition @Inject constructor(
.add(SWEventListener(injector, EventPumpStatusChanged::class.java))
.validator(SWValidator {
val activePump = activePlugin.activePump
isPumpInitialized(activePump)
activePump.isInitialized
})
private fun isPumpInitialized(activePump: PumpInterface) =
activePump.isInitialized
|| (activePump is OmnipodPumpPlugin && activePump.isRileyLinkReady)
private val screenAps = SWScreen(injector, R.string.configbuilder_aps)
.skippable(false)
.add(SWInfotext(injector)

View file

@ -110,6 +110,7 @@ class SetupWizardActivity : NoSplashAppCompatActivity() {
updateButtons()
}) { fabricPrivacy.logException(it) }
)
updateButtons()
}
private fun generateLayout() {

View file

@ -949,9 +949,10 @@
<string name="bgsourcesetup">Configure BG source</string>
<string name="setupwizard_profile_description">Please select source of profile. If patient is a child you should use NS profile. If there is nobody following you on Nightscout you will probably prefer Local profile. Please remember that you are only selecting the profile source. To use it you must activate it by executing \"Profile switch\"</string>
<string name="setupwizard_aps_description">Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use.</string>
<string name="setupwizard_pump_waiting_for_riley_link_connection">Waiting for RileyLink connection\n</string>
<string name="setupwizard_pump_waiting_for_riley_link_connection">Waiting for RileyLink connection…\n</string>
<string name="setupwizard_pump_waiting_for_pod_change">Waiting for Pod change…\n</string>
<string name="setupwizard_pump_pump_not_initialized"><b>Note:</b> You can continue setup once the pump has been initialized.\n</string>
<string name="setupwizard_pump_omnipod_init_pod">Init Pod</string>
<string name="setupwizard_pump_omnipod_change_pod">Change Pod</string>
<string name="startobjective">Start your first objective</string>
<string name="permission">Permission</string>
<string name="askforpermission">Ask for permission</string>

View file

@ -1,11 +1,10 @@
package info.nightscout.androidaps.utils
import android.os.Build
import android.text.Html
import android.text.Spanned
object HtmlHelper {
fun fromHtml(source: String): Spanned {
return Html.fromHtml(source, Html.FROM_HTML_MODE_LEGACY)
return Html.fromHtml(source, Html.FROM_HTML_MODE_LEGACY)
}
}

View file

@ -91,7 +91,6 @@ dependencies {
implementation 'org.apache.commons:commons-lang3:3.10'
implementation 'net.danlew:android.joda:2.10.6'
implementation "com.google.code.gson:gson:2.8.6"
implementation(name: "com.atech-software.android.library.wizardpager-1.1.4", ext: "aar")
implementation "com.google.dagger:dagger-android:$dagger_version"
implementation "com.google.dagger:dagger-android-support:$dagger_version"

View file

@ -9,9 +9,6 @@
<activity android:name=".ui.PodManagementActivity" />
<activity android:name=".ui.PodHistoryActivity" />
<activity android:name=".ui.wizard2.ReplacePodWizardActivity" />
<activity
android:name="com.atech.android.library.wizardpager.WizardPagerActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name=".ui.wizard.ChangePodWizardActivity" />
</application>
</manifest>

View file

@ -83,7 +83,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.queue.command.CommandUpda
import info.nightscout.androidaps.plugins.pump.omnipod.queue.command.OmnipodCustomCommand;
import info.nightscout.androidaps.plugins.pump.omnipod.queue.command.OmnipodCustomCommandType;
import info.nightscout.androidaps.plugins.pump.omnipod.rileylink.service.RileyLinkOmnipodService;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.OmnipodFragment;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.OmnipodOverviewFragment;
import info.nightscout.androidaps.plugins.pump.omnipod.util.AapsOmnipodUtil;
import info.nightscout.androidaps.plugins.pump.omnipod.util.OmnipodAlertUtil;
import info.nightscout.androidaps.queue.commands.CustomCommand;
@ -169,11 +169,11 @@ public class OmnipodPumpPlugin extends PumpPluginBase implements PumpInterface,
) {
super(new PluginDescription() //
.mainType(PluginType.PUMP) //
.fragmentClass(OmnipodFragment.class.getName()) //
.fragmentClass(OmnipodOverviewFragment.class.getName()) //
.pluginName(R.string.omnipod_name) //
.shortName(R.string.omnipod_name_short) //
.preferencesId(R.xml.pref_omnipod) //
.description(R.string.description_pump_omnipod), //
.description(R.string.omnipod_pump_description), //
injector, aapsLogger, resourceHelper, commandQueue);
this.aapsLogger = aapsLogger;
this.rxBus = rxBus;
@ -358,7 +358,7 @@ public class OmnipodPumpPlugin extends PumpPluginBase implements PumpInterface,
rxBus.send(new EventNewNotification(notification));
} else {
if (podStateManager.isSuspended()) {
Notification notification = new Notification(Notification.OMNIPOD_POD_SUSPENDED, resourceHelper.gs(R.string.omnipod_pod_suspended), Notification.NORMAL);
Notification notification = new Notification(Notification.OMNIPOD_POD_SUSPENDED, resourceHelper.gs(R.string.omnipod_confirmation_pod_suspended), Notification.NORMAL);
rxBus.send(new EventNewNotification(notification));
}
}
@ -729,6 +729,8 @@ public class OmnipodPumpPlugin extends PumpPluginBase implements PumpInterface,
return executeCommand(OmnipodCommandType.SUSPEND_DELIVERY, aapsOmnipodManager::suspendDelivery);
case RESUME_DELIVERY:
return executeCommand(OmnipodCommandType.RESUME_DELIVERY, () -> aapsOmnipodManager.setBasalProfile(profileFunction.getProfile(), false));
case DEACTIVATE_POD:
return executeCommand(OmnipodCommandType.DEACTIVATE_POD, aapsOmnipodManager::deactivatePod);
case HANDLE_TIME_CHANGE:
return handleTimeChange(((CommandHandleTimeChange) command).isRequestedByUser());
case UPDATE_ALERT_CONFIGURATION:
@ -806,7 +808,7 @@ public class OmnipodPumpPlugin extends PumpPluginBase implements PumpInterface,
if (!requestedByUser && aapsOmnipodManager.isTimeChangeEventEnabled()) {
Notification notification = new Notification(
Notification.TIME_OR_TIMEZONE_CHANGE,
resourceHelper.gs(R.string.omnipod_confirmation_time_or_timezone_change),
resourceHelper.gs(R.string.omnipod_confirmation_time_on_pod_updated),
Notification.INFO, 60);
rxBus.send(new EventNewNotification(notification));
}

View file

@ -17,7 +17,6 @@ annotation class OmnipodPluginQualifier
@MapKey
internal annotation class ViewModelKey(val value: KClass<out ViewModel>)
// TODO: These annotations and Factories could be used globally -> move to core or app
@Suppress("UNCHECKED_CAST")

View file

@ -9,11 +9,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsPodStateManag
import info.nightscout.androidaps.plugins.pump.omnipod.rileylink.manager.OmnipodRileyLinkCommunicationManager
import info.nightscout.androidaps.plugins.pump.omnipod.ui.PodHistoryActivity
import info.nightscout.androidaps.plugins.pump.omnipod.ui.PodManagementActivity
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod.InitActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod.InitPodTask
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.pages.PodInfoFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.removepod.RemoveActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.ReplacePodWizardActivity
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.ChangePodWizardActivity
@Module
@Suppress("unused")
@ -26,19 +22,13 @@ abstract class OmnipodModule {
@ActivityScope
@ContributesAndroidInjector(modules = [OmnipodWizardModule::class])
abstract fun contributesWizardActivity(): ReplacePodWizardActivity
// Fragments
@ContributesAndroidInjector abstract fun initActionFragment(): InitActionFragment
@ContributesAndroidInjector abstract fun removeActionFragment(): RemoveActionFragment
@ContributesAndroidInjector abstract fun podInfoFragment(): PodInfoFragment
abstract fun contributesWizardActivity(): ChangePodWizardActivity
// Service
@ContributesAndroidInjector
abstract fun omnipodCommunicationManagerProvider(): OmnipodRileyLinkCommunicationManager
// Data
@ContributesAndroidInjector abstract fun initPodTask(): InitPodTask
@ContributesAndroidInjector abstract fun rlHistoryItemOmnipod(): RLHistoryItemOmnipod
companion object {

View file

@ -7,15 +7,13 @@ import dagger.Module
import dagger.Provides
import dagger.android.ContributesAndroidInjector
import dagger.multibindings.IntoMap
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action.DeactivatePodActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action.InsertCannulaActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action.PairAndPrimePodActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.AttachPodInfoFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.DeactivatePodInfoFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.FillPodInfoFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.PodDeactivatedInfoFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.PodReplacedInfoFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.viewmodel.WizardViewModel1
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action.DeactivatePodActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action.InsertCannulaActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action.PairAndPrimePodActionFragment
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.*
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.DeactivatePodActionViewModel
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.InsertCannulaActionViewModel
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.PairAndPrimePodActionViewModel
import javax.inject.Provider
@Module
@ -23,7 +21,6 @@ abstract class OmnipodWizardModule {
companion object {
@Provides
@JvmStatic
@OmnipodPluginQualifier
fun providesViewModelFactory(@OmnipodPluginQualifier viewModels: MutableMap<Class<out ViewModel>, @JvmSuppressWildcards Provider<ViewModel>>): ViewModelProvider.Factory {
return ViewModelFactory(viewModels)
@ -34,12 +31,22 @@ abstract class OmnipodWizardModule {
@Binds
@IntoMap
@OmnipodPluginQualifier
@ViewModelKey(WizardViewModel1::class)
internal abstract fun bindWizardViewModel1(viewModel: WizardViewModel1): ViewModel
// Add the rest of the view models
@ViewModelKey(PairAndPrimePodActionViewModel::class)
internal abstract fun pairAndPrimePodActionViewModel(viewModel: PairAndPrimePodActionViewModel): ViewModel
@Binds
@IntoMap
@OmnipodPluginQualifier
@ViewModelKey(InsertCannulaActionViewModel::class)
internal abstract fun insertCannulaActionViewModel(viewModel: InsertCannulaActionViewModel): ViewModel
@Binds
@IntoMap
@OmnipodPluginQualifier
@ViewModelKey(DeactivatePodActionViewModel::class)
internal abstract fun deactivatePodActionViewModel(viewModel: DeactivatePodActionViewModel): ViewModel
// #### FRAGMENTS ##############################################################################
@FragmentScope
@ContributesAndroidInjector
internal abstract fun contributesDeactivatePodActionFragment(): DeactivatePodActionFragment
@ -70,7 +77,11 @@ abstract class OmnipodWizardModule {
@FragmentScope
@ContributesAndroidInjector
internal abstract fun contributesPodReplacedInfoFragment(): PodReplacedInfoFragment
internal abstract fun contributesPodDiscardedInfoFragment(): PodDiscardedInfoFragment
@FragmentScope
@ContributesAndroidInjector
internal abstract fun contributesPodChangedInfoFragment(): PodChangedInfoFragment
}

View file

@ -6,8 +6,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.R;
* Created by andy on 4.8.2019
*/
public enum OmnipodCommandType {
PAIR_AND_PRIME_POD(R.string.omnipod_cmd_pair_and_prime), // First step of Pod activation
FILL_CANNULA_AND_SET_BASAL_PROFILE(R.string.omnipod_cmd_fill_cannula_set_basal_profile), // Second step of Pod activation
ACTIVATE_POD(R.string.omnipod_cmd_activate_pod), // First step of Pod change
INSERT_CANNULA(R.string.omnipod_cmd_insert_cannula), // Second step of Pod change
DEACTIVATE_POD(R.string.omnipod_cmd_deactivate_pod), //
SET_BASAL_PROFILE(R.string.omnipod_cmd_set_basal_schedule), //
SET_BOLUS(R.string.omnipod_cmd_set_bolus), //

View file

@ -13,8 +13,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.R;
*/
public enum PodHistoryEntryType {
PAIR_AND_PRIME(1, R.string.omnipod_init_pod_wizard_step2_title, PumpHistoryEntryGroup.Prime),
FILL_CANNULA_SET_BASAL_PROFILE(2, R.string.omnipod_init_pod_wizard_step4_title, PumpHistoryEntryGroup.Prime),
ACTIVATE_POD(1, R.string.omnipod_cmd_activate_pod, PumpHistoryEntryGroup.Prime),
INSERT_CANNULA(2, R.string.omnipod_cmd_insert_cannula, PumpHistoryEntryGroup.Prime),
DEACTIVATE_POD(3, R.string.omnipod_cmd_deactivate_pod, PumpHistoryEntryGroup.Prime),
DISCARD_POD_STATE(4, R.string.omnipod_cmd_discard_pod, PumpHistoryEntryGroup.Prime),

View file

@ -1,54 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.definition;
import java.util.ArrayList;
import java.util.List;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
public enum PodInitActionType {
PAIR_AND_PRIME_WIZARD_STEP(), //
PAIR_POD(R.string.omnipod_init_pod_pair_pod, PAIR_AND_PRIME_WIZARD_STEP), //
PRIME_POD(R.string.omnipod_init_pod_prime_pod, PAIR_AND_PRIME_WIZARD_STEP), //
FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP(), //
FILL_CANNULA(R.string.omnipod_init_pod_fill_cannula, FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP), //
SET_BASAL_PROFILE(R.string.omnipod_init_pod_set_basal_profile, FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP), //
DEACTIVATE_POD_WIZARD_STEP(), //
CANCEL_DELIVERY(R.string.omnipod_deactivate_pod_cancel_delivery, DEACTIVATE_POD_WIZARD_STEP), //
DEACTIVATE_POD(R.string.omnipod_deactivate_pod_deactivate_pod, DEACTIVATE_POD_WIZARD_STEP);
private int resourceId;
private PodInitActionType parent;
PodInitActionType(int resourceId, PodInitActionType parent) {
this.resourceId = resourceId;
this.parent = parent;
}
PodInitActionType() {
}
public boolean isParent() {
return this.parent == null;
}
public List<PodInitActionType> getChildren() {
List<PodInitActionType> outList = new ArrayList<>();
for (PodInitActionType value : values()) {
if (value.parent == this) {
outList.add(value);
}
}
return outList;
}
public int getResourceId() {
return resourceId;
}
}

View file

@ -1,7 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.definition;
public interface PodInitReceiver {
void returnInitTaskStatus(PodInitActionType podInitActionType, boolean isSuccess, String errorMessage);
}

View file

@ -69,7 +69,9 @@ public class PodInfoFaultEvent extends PodInfo implements StatusUpdatableRespons
unacknowledgedAlerts = new AlertSet(encodedData[15]);
faultAccessingTables = encodedData[16] == 0x02;
logEventErrorType = LogEventErrorCode.fromByte((byte) (encodedData[17] >>> 4));
int i = ByteUtil.convertUnsignedByteToInt(encodedData[17]);
byte value = (byte) (i >>> 4);
logEventErrorType = LogEventErrorCode.fromByte(value);
logEventErrorPodProgressStatus = PodProgressStatus.fromByte((byte) (encodedData[17] & 0x0f));
receiverLowGain = (byte) (ByteUtil.convertUnsignedByteToInt(encodedData[18]) >>> 6);
radioRSSI = (byte) (encodedData[18] & 0x3f);

View file

@ -0,0 +1,16 @@
package info.nightscout.androidaps.plugins.pump.omnipod.driver.exception;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProgressStatus;
public class PodProgressStatusVerificationFailedException extends OmnipodException {
private final PodProgressStatus expectedStatus;
public PodProgressStatusVerificationFailedException(PodProgressStatus expectedStatus, Throwable cause) {
super("Failed to verify Pod progress status (expected=" + expectedStatus + ")", cause, false);
this.expectedStatus = expectedStatus;
}
public PodProgressStatus getExpectedStatus() {
return expectedStatus;
}
}

View file

@ -48,6 +48,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.IllegalP
import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.NonceOutOfSyncException;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.OmnipodException;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.PodFaultException;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.PodProgressStatusVerificationFailedException;
import info.nightscout.androidaps.plugins.pump.omnipod.rileylink.manager.OmnipodRileyLinkCommunicationManager;
import info.nightscout.androidaps.utils.sharedPreferences.SP;
import io.reactivex.Completable;
@ -86,7 +87,7 @@ public class OmnipodManager {
this.podStateManager = podStateManager;
}
public synchronized Single<SetupActionResult> pairAndPrime() {
public synchronized Single<Boolean> pairAndPrime() {
logStartingCommandExecution("pairAndPrime");
try {
@ -128,11 +129,11 @@ public class OmnipodManager {
long delayInMillis = calculateEstimatedBolusDuration(DateTime.now().minus(OmnipodConstants.AVERAGE_BOLUS_COMMAND_COMMUNICATION_DURATION), OmnipodConstants.POD_PRIME_BOLUS_UNITS, OmnipodConstants.POD_PRIMING_DELIVERY_RATE).getMillis();
return Single.timer(delayInMillis, TimeUnit.MILLISECONDS) //
.map(o -> verifySetupAction(PodProgressStatus.PRIMING_COMPLETED)) //
.observeOn(Schedulers.io());
.map(o -> verifyPodProgressStatus(PodProgressStatus.PRIMING_COMPLETED)) //
.subscribeOn(Schedulers.io());
}
public synchronized Single<SetupActionResult> insertCannula(
public synchronized Single<Boolean> insertCannula(
BasalSchedule basalSchedule, Duration expirationReminderTimeBeforeShutdown, Integer lowReservoirAlertUnits) {
if (!podStateManager.isPodInitialized() || podStateManager.getPodProgressStatus().isBefore(PodProgressStatus.PRIMING_COMPLETED)) {
throw new IllegalPodProgressException(PodProgressStatus.PRIMING_COMPLETED, !podStateManager.isPodInitialized() ? null : podStateManager.getPodProgressStatus());
@ -156,8 +157,8 @@ public class OmnipodManager {
long delayInMillis = calculateEstimatedBolusDuration(DateTime.now().minus(OmnipodConstants.AVERAGE_BOLUS_COMMAND_COMMUNICATION_DURATION), OmnipodConstants.POD_CANNULA_INSERTION_BOLUS_UNITS, OmnipodConstants.POD_CANNULA_INSERTION_DELIVERY_RATE).getMillis();
return Single.timer(delayInMillis, TimeUnit.MILLISECONDS) //
.map(o -> verifySetupAction(PodProgressStatus.ABOVE_FIFTY_UNITS)) //
.observeOn(Schedulers.io());
.map(o -> verifyPodProgressStatus(PodProgressStatus.ABOVE_FIFTY_UNITS)) //
.subscribeOn(Schedulers.io());
}
public synchronized StatusResponse getPodStatus() {
@ -400,7 +401,7 @@ public class OmnipodManager {
long progressReportInterval = estimatedRemainingBolusDuration.getMillis() / numberOfProgressReports;
disposables.add(Flowable.intervalRange(0, numberOfProgressReports + 1, 0, progressReportInterval, TimeUnit.MILLISECONDS) //
.observeOn(Schedulers.io()) //
.subscribeOn(Schedulers.io()) //
.subscribe(count -> {
int percentage = (int) ((double) count / numberOfProgressReports * 100);
double estimatedUnitsDelivered = activeBolusData == null ? 0 : activeBolusData.estimateUnitsDelivered();
@ -421,7 +422,7 @@ public class OmnipodManager {
disposables.add(Completable.complete() //
.delay(estimatedRemainingBolusDuration.getMillis(), TimeUnit.MILLISECONDS) //
.observeOn(Schedulers.io()) //
.subscribeOn(Schedulers.io()) //
.doOnComplete(() -> {
synchronized (bolusDataMutex) {
double bolusNotDelivered = 0.0d;
@ -626,26 +627,36 @@ public class OmnipodManager {
}
}
private SetupActionResult verifySetupAction(PodProgressStatus expectedPodProgressStatus) {
SetupActionResult result = null;
/**
* @param expectedPodProgressStatus expected Pod progress status
* @return true if the Pod's progress status matches the expected status, otherwise false
* @throws PodProgressStatusVerificationFailedException in case reading the Pod status fails
*/
private boolean verifyPodProgressStatus(PodProgressStatus expectedPodProgressStatus) {
Boolean result = null;
Throwable lastException = null;
for (int i = 0; ACTION_VERIFICATION_TRIES > i; i++) {
try {
StatusResponse statusResponse = getPodStatus();
if (statusResponse.getPodProgressStatus().equals(expectedPodProgressStatus)) {
result = new SetupActionResult(SetupActionResult.ResultType.SUCCESS);
break;
return true;
} else {
result = new SetupActionResult(SetupActionResult.ResultType.FAILURE) //
.podProgressStatus(statusResponse.getPodProgressStatus());
break;
result = false;
}
} catch (Exception ex) {
result = new SetupActionResult(SetupActionResult.ResultType.VERIFICATION_FAILURE) //
.exception(ex);
lastException = ex;
}
}
return result;
if (result != null) {
return result;
}
final Throwable ex = lastException;
throw new PodProgressStatusVerificationFailedException(expectedPodProgressStatus, ex);
}
/**

View file

@ -1,61 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.driver.manager;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProgressStatus;
public class SetupActionResult {
private final ResultType resultType;
private String message;
private Exception exception;
private PodProgressStatus podProgressStatus;
public SetupActionResult(ResultType resultType) {
this.resultType = resultType;
}
public SetupActionResult message(String message) {
this.message = message;
return this;
}
public SetupActionResult exception(Exception ex) {
exception = ex;
return this;
}
public SetupActionResult podProgressStatus(PodProgressStatus podProgressStatus) {
this.podProgressStatus = podProgressStatus;
return this;
}
public ResultType getResultType() {
return resultType;
}
public String getMessage() {
return message;
}
public Exception getException() {
return exception;
}
public PodProgressStatus getPodProgressStatus() {
return podProgressStatus;
}
public enum ResultType {
SUCCESS(true),
VERIFICATION_FAILURE(false),
FAILURE(false);
private final boolean success;
ResultType(boolean success) {
this.success = success;
}
public boolean isSuccess() {
return success;
}
}
}

View file

@ -22,6 +22,7 @@ import info.nightscout.androidaps.db.OmnipodHistoryRecord;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.db.TemporaryBasal;
import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.events.EventRefreshOverview;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface;
import info.nightscout.androidaps.interfaces.ProfileFunction;
@ -38,10 +39,9 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
import info.nightscout.androidaps.plugins.pump.omnipod.data.ActiveBolus;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.OmnipodCommandType;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.OmnipodStorageKeys;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodHistoryEntryType;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitReceiver;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.communication.message.response.StatusResponse;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.communication.message.response.podinfo.PodInfoRecentPulseLog;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.communication.message.response.podinfo.PodInfoResponse;
@ -50,6 +50,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.Deliver
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.FaultEventCode;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.OmnipodConstants;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodInfoType;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProgressStatus;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.schedule.BasalSchedule;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.schedule.BasalScheduleEntry;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.CommandFailedAfterChangingDeliveryStatusException;
@ -75,7 +76,6 @@ import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.RileyLin
import info.nightscout.androidaps.plugins.pump.omnipod.driver.exception.RileyLinkUnreachableException;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.OmnipodManager;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateManager;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.SetupActionResult;
import info.nightscout.androidaps.plugins.pump.omnipod.event.EventOmnipodPumpValuesChanged;
import info.nightscout.androidaps.plugins.pump.omnipod.rileylink.manager.OmnipodRileyLinkCommunicationManager;
import info.nightscout.androidaps.plugins.pump.omnipod.util.AapsOmnipodUtil;
@ -153,57 +153,61 @@ public class AapsOmnipodManager {
timeChangeEventEnabled = sp.getBoolean(OmnipodStorageKeys.Preferences.TIME_CHANGE_EVENT_ENABLED, true);
}
public PumpEnactResult pairAndPrime(PodInitActionType podInitActionType, PodInitReceiver podInitReceiver) {
if (podInitActionType != PodInitActionType.PAIR_AND_PRIME_WIZARD_STEP) {
return new PumpEnactResult(injector).success(false).enacted(false).comment(getStringResource(R.string.omnipod_error_illegal_init_action_type, podInitActionType.name()));
}
public PumpEnactResult activateNewPod() {
PumpEnactResult result = new PumpEnactResult(injector);
try {
executeCommand(() -> delegate.pairAndPrime().subscribe(res -> //
handleSetupActionResult(podInitActionType, podInitReceiver, res, System.currentTimeMillis(), null)));
Boolean res = executeCommand(delegate::pairAndPrime)
.blockingGet();
return new PumpEnactResult(injector).success(true).enacted(true);
result.success(res).enacted(res);
if (!res) {
result.comment(R.string.omnipod_error_failed_to_activate_pod);
}
} catch (Exception ex) {
String errorMessage = translateException(ex);
podInitReceiver.returnInitTaskStatus(podInitActionType, false, errorMessage);
addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.PAIR_AND_PRIME, errorMessage);
return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage);
result.success(false).enacted(false).comment(translateException(ex));
}
addToHistory(System.currentTimeMillis(), PodHistoryEntryType.ACTIVATE_POD, result.comment, result.success);
return result;
}
public PumpEnactResult setInitialBasalScheduleAndInsertCannula(PodInitActionType podInitActionType, PodInitReceiver podInitReceiver, Profile profile) {
if (podInitActionType != PodInitActionType.FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP) {
String comment = getStringResource(R.string.omnipod_error_illegal_init_action_type, podInitActionType.name());
podInitReceiver.returnInitTaskStatus(podInitActionType, false, comment);
return new PumpEnactResult(injector).success(false).enacted(false).comment(comment);
}
public PumpEnactResult insertCannula(Profile profile) {
if (profile == null) {
String comment = getStringResource(R.string.omnipod_error_set_initial_basal_schedule_no_profile);
podInitReceiver.returnInitTaskStatus(podInitActionType, false, comment);
return new PumpEnactResult(injector).success(false).enacted(false).comment(comment);
}
PumpEnactResult result = new PumpEnactResult(injector);
try {
BasalSchedule basalSchedule = mapProfileToBasalSchedule(profile);
executeCommand(() -> delegate.insertCannula(basalSchedule, omnipodAlertUtil.getExpirationReminderTimeBeforeShutdown(), omnipodAlertUtil.getLowReservoirAlertUnits()).subscribe(res -> //
handleSetupActionResult(podInitActionType, podInitReceiver, res, System.currentTimeMillis(), profile)));
Boolean res = executeCommand(() -> delegate.insertCannula(basalSchedule, omnipodAlertUtil.getExpirationReminderTimeBeforeShutdown(), omnipodAlertUtil.getLowReservoirAlertUnits())) //
.blockingGet();
result.success(res).enacted(res);
if (!res) {
result.comment(R.string.omnipod_error_failed_to_insert_cannula);
}
} catch (Exception ex) {
String errorMessage = translateException(ex);
podInitReceiver.returnInitTaskStatus(podInitActionType, false, errorMessage);
addFailureToHistory(PodHistoryEntryType.FILL_CANNULA_SET_BASAL_PROFILE, errorMessage);
return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage);
result.success(false).enacted(false).comment(translateException(ex));
}
uploadCareportalEvent(System.currentTimeMillis() - 2000, CareportalEvent.PUMPBATTERYCHANGE);
uploadCareportalEvent(System.currentTimeMillis() - 1000, CareportalEvent.INSULINCHANGE);
uploadCareportalEvent(System.currentTimeMillis(), CareportalEvent.SITECHANGE);
addToHistory(System.currentTimeMillis(), PodHistoryEntryType.INSERT_CANNULA, result.comment, result.success);
rxBus.send(new EventDismissNotification(Notification.OMNIPOD_POD_NOT_ATTACHED));
if (result.success) {
uploadCareportalEvent(System.currentTimeMillis() - 2000, CareportalEvent.PUMPBATTERYCHANGE);
uploadCareportalEvent(System.currentTimeMillis() - 1000, CareportalEvent.INSULINCHANGE);
uploadCareportalEvent(System.currentTimeMillis(), CareportalEvent.SITECHANGE);
cancelSuspendedFakeTbrIfExists();
sendEvent(new EventDismissNotification(Notification.OMNIPOD_POD_NOT_ATTACHED));
return new PumpEnactResult(injector).success(true).enacted(true);
cancelSuspendedFakeTbrIfExists();
}
return result;
}
public PumpEnactResult configureAlerts(List<AlertConfiguration> alertConfigurations) {
@ -234,19 +238,17 @@ public class AapsOmnipodManager {
return new PumpEnactResult(injector).success(true).enacted(false);
}
public PumpEnactResult deactivatePod(PodInitReceiver podInitReceiver) {
public PumpEnactResult deactivatePod() {
try {
executeCommand(delegate::deactivatePod);
} catch (Exception ex) {
String errorMessage = translateException(ex);
podInitReceiver.returnInitTaskStatus(PodInitActionType.DEACTIVATE_POD_WIZARD_STEP, false, errorMessage);
addFailureToHistory(PodHistoryEntryType.DEACTIVATE_POD, errorMessage);
return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage);
}
addSuccessToHistory(PodHistoryEntryType.DEACTIVATE_POD, null);
createSuspendedFakeTbrIfNotExists();
podInitReceiver.returnInitTaskStatus(PodInitActionType.DEACTIVATE_POD_WIZARD_STEP, true, null);
return new PumpEnactResult(injector).success(true).enacted(true);
}
@ -297,7 +299,7 @@ public class AapsOmnipodManager {
if (historyEntryType == PodHistoryEntryType.RESUME_DELIVERY) {
cancelSuspendedFakeTbrIfExists();
rxBus.send(new EventDismissNotification(Notification.OMNIPOD_POD_SUSPENDED));
sendEvent(new EventDismissNotification(Notification.OMNIPOD_POD_SUSPENDED));
}
addSuccessToHistory(historyEntryType, profile.getBasalValues());
@ -315,6 +317,9 @@ public class AapsOmnipodManager {
createSuspendedFakeTbrIfNotExists();
sendEvent(new EventOmnipodPumpValuesChanged());
rxBus.send(new EventRefreshOverview("Omnipod command: " + OmnipodCommandType.DISCARD_POD, false));
return new PumpEnactResult(injector).success(true).enacted(true);
}
@ -694,7 +699,8 @@ public class AapsOmnipodManager {
return addSuccessToHistory(System.currentTimeMillis(), entryType, data);
}
private long addSuccessToHistory(long requestTime, PodHistoryEntryType entryType, Object data) {
private long addSuccessToHistory(long requestTime, PodHistoryEntryType entryType, Object
data) {
return addToHistory(requestTime, entryType, data, true);
}
@ -702,11 +708,13 @@ public class AapsOmnipodManager {
return addFailureToHistory(System.currentTimeMillis(), entryType, data);
}
private long addFailureToHistory(long requestTime, PodHistoryEntryType entryType, Object data) {
private long addFailureToHistory(long requestTime, PodHistoryEntryType entryType, Object
data) {
return addToHistory(requestTime, entryType, data, false);
}
private long addToHistory(long requestTime, PodHistoryEntryType entryType, Object data, boolean success) {
private long addToHistory(long requestTime, PodHistoryEntryType entryType, Object data,
boolean success) {
OmnipodHistoryRecord omnipodHistoryRecord = new OmnipodHistoryRecord(requestTime, entryType.getCode());
if (data != null) {
@ -725,30 +733,6 @@ public class AapsOmnipodManager {
return omnipodHistoryRecord.getPumpId();
}
private void handleSetupActionResult(PodInitActionType podInitActionType, PodInitReceiver podInitReceiver, SetupActionResult res, long time, Profile profile) {
String comment = null;
switch (res.getResultType()) {
case FAILURE: {
aapsLogger.error(LTag.PUMP, "Setup action failed: illegal setup progress: {}", res.getPodProgressStatus());
comment = getStringResource(R.string.omnipod_error_invalid_progress_state, res.getPodProgressStatus());
}
break;
case VERIFICATION_FAILURE: {
aapsLogger.error(LTag.PUMP, "Setup action verification failed: caught exception", res.getException());
comment = getStringResource(R.string.omnipod_error_setup_action_verification_failed);
}
break;
}
if (podInitActionType == PodInitActionType.PAIR_AND_PRIME_WIZARD_STEP) {
addToHistory(time, PodHistoryEntryType.PAIR_AND_PRIME, comment, res.getResultType().isSuccess());
} else {
addToHistory(time, PodHistoryEntryType.FILL_CANNULA_SET_BASAL_PROFILE, res.getResultType().isSuccess() ? profile.getBasalValues() : comment, res.getResultType().isSuccess());
}
podInitReceiver.returnInitTaskStatus(podInitActionType, res.getResultType().isSuccess(), comment);
}
private void executeCommand(Runnable runnable) {
try {
runnable.run();
@ -772,7 +756,9 @@ public class AapsOmnipodManager {
aapsLogger.error(LTag.PUMP, String.format("Caught OmnipodException[certainFailure=%s] from OmnipodManager", ((OmnipodException) ex).isCertainFailure()), ex);
if (ex instanceof PodFaultException) {
FaultEventCode faultEventCode = ((PodFaultException) ex).getFaultEvent().getFaultEventCode();
showPodFaultNotification(faultEventCode);
if (!(faultEventCode == FaultEventCode.NO_FAULTS && podStateManager.isPodInitialized() && podStateManager.getPodProgressStatus() == PodProgressStatus.ACTIVATION_TIME_EXCEEDED)) {
showPodFaultNotification(faultEventCode);
}
}
} else {
aapsLogger.error(LTag.PUMP, "Caught an unexpected non-OmnipodException from OmnipodManager", ex);
@ -827,10 +813,11 @@ public class AapsOmnipodManager {
}
private String createPodFaultErrorMessage(FaultEventCode faultEventCode) {
String comment;
comment = getStringResource(R.string.omnipod_error_pod_fault,
if (faultEventCode == FaultEventCode.NO_FAULTS && podStateManager.getPodProgressStatus() == PodProgressStatus.ACTIVATION_TIME_EXCEEDED) {
return getStringResource(R.string.omnipod_error_pod_fault_activation_time_exceeded);
}
return getStringResource(R.string.omnipod_error_pod_fault,
ByteUtil.convertUnsignedByteToInt(faultEventCode.getValue()), faultEventCode.name());
return comment;
}
private void sendEvent(Event event) {

View file

@ -0,0 +1,7 @@
package info.nightscout.androidaps.plugins.pump.omnipod.queue.command;
public final class CommandDeactivatePod extends OmnipodCustomCommand {
public CommandDeactivatePod() {
super(OmnipodCustomCommandType.DEACTIVATE_POD);
}
}

View file

@ -6,6 +6,7 @@ public enum OmnipodCustomCommandType {
READ_PULSE_LOG("READ PULSE LOG"),
SUSPEND_DELIVERY("SUSPEND DELIVERY"),
RESUME_DELIVERY("RESUME DELIVERY"),
DEACTIVATE_POD("DEACTIVATE POD"),
HANDLE_TIME_CHANGE("HANDLE TIME CHANGE"),
UPDATE_ALERT_CONFIGURATION("UPDATE ALERT CONFIGURATION");

View file

@ -241,6 +241,7 @@ public class OmnipodRileyLinkCommunicationManager extends RileyLinkCommunication
byte[] receivedMessageData = response.getEncodedMessage();
while (receivedMessage == null) {
try {
aapsLogger.debug(LTag.PUMPBTCOMM, "Attempting to decode message: {}", ByteUtil.shortHexStringWithoutSpaces(receivedMessageData));
receivedMessage = OmnipodMessage.decodeMessage(receivedMessageData);
if (receivedMessage.getAddress() != message.getAddress()) {
throw new IllegalMessageAddressException(message.getAddress(), receivedMessage.getAddress());

View file

@ -29,7 +29,6 @@ import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateMa
import info.nightscout.androidaps.plugins.pump.omnipod.event.EventOmnipodPumpValuesChanged
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager
import info.nightscout.androidaps.plugins.pump.omnipod.queue.command.*
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.ReplacePodWizardActivity
import info.nightscout.androidaps.plugins.pump.omnipod.util.AapsOmnipodUtil
import info.nightscout.androidaps.queue.Callback
import info.nightscout.androidaps.queue.events.EventQueueChanged
@ -44,8 +43,7 @@ import info.nightscout.androidaps.utils.sharedPreferences.SP
import info.nightscout.androidaps.utils.ui.UIRunnable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.omnipod_fragment.*
import kotlinx.android.synthetic.main.omnipod_overview.*
import org.apache.commons.lang3.StringUtils
import org.joda.time.DateTime
import org.joda.time.Duration
@ -53,10 +51,10 @@ import java.util.*
import javax.inject.Inject
import kotlin.collections.ArrayList
class OmnipodFragment : DaggerFragment() {
class OmnipodOverviewFragment : DaggerFragment() {
companion object {
private val REFRESH_INTERVAL_MILLIS = 15 * 1000L; // 15 seconds
private val PLACEHOLDER = "-"; // 15 seconds
private val REFRESH_INTERVAL_MILLIS = 15 * 1000L // 15 seconds
private val PLACEHOLDER = "-" // 15 seconds
}
@Inject lateinit var fabricPrivacy: FabricPrivacy
@ -87,17 +85,13 @@ class OmnipodFragment : DaggerFragment() {
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.omnipod_fragment, container, false)
return inflater.inflate(R.layout.omnipod_overview, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_button_replace_pod.setOnClickListener {
startActivity(Intent(context, ReplacePodWizardActivity::class.java))
}
omnipod_button_pod_mgmt.setOnClickListener {
omnipod_overview_button_pod_management.setOnClickListener {
if (omnipodPumpPlugin.rileyLinkService?.verifyConfiguration() == true) {
activity?.let { activity ->
protectionCheck.queryProtection(
@ -110,19 +104,19 @@ class OmnipodFragment : DaggerFragment() {
}
}
omnipod_button_resume_delivery.setOnClickListener {
omnipod_overview_button_resume_delivery.setOnClickListener {
disablePodActionButtons()
commandQueue.customCommand(CommandResumeDelivery(),
DisplayResultDialogCallback(resourceHelper.gs(R.string.omnipod_error_failed_to_resume_delivery), true).messageOnSuccess(resourceHelper.gs(R.string.omnipod_confirmation_delivery_resumed)))
}
omnipod_button_refresh_status.setOnClickListener {
omnipod_overview_button_refresh_status.setOnClickListener {
disablePodActionButtons()
commandQueue.customCommand(CommandGetPodStatus(),
DisplayResultDialogCallback(resourceHelper.gs(R.string.omnipod_error_failed_to_refresh_status), false))
}
omnipod_button_rileylink_stats.setOnClickListener {
omnipod_overview_button_rileylink_stats.setOnClickListener {
if (omnipodPumpPlugin.rileyLinkService?.verifyConfiguration() == true) {
startActivity(Intent(context, RileyLinkStatusActivity::class.java))
} else {
@ -130,28 +124,28 @@ class OmnipodFragment : DaggerFragment() {
}
}
omnipod_button_acknowledge_active_alerts.setOnClickListener {
omnipod_overview_button_acknowledge_active_alerts.setOnClickListener {
disablePodActionButtons()
commandQueue.customCommand(CommandAcknowledgeAlerts(),
DisplayResultDialogCallback(resourceHelper.gs(R.string.omnipod_error_failed_to_acknowledge_alerts), false)
.messageOnSuccess(resourceHelper.gs(R.string.omnipod_confirmation_acknowledged_alerts)))
}
omnipod_button_suspend_delivery.setOnClickListener {
omnipod_overview_button_suspend_delivery.setOnClickListener {
disablePodActionButtons()
commandQueue.customCommand(CommandSuspendDelivery(),
DisplayResultDialogCallback(resourceHelper.gs(R.string.omnipod_error_failed_to_suspend_delivery), true)
.messageOnSuccess(resourceHelper.gs(R.string.omnipod_confirmation_suspended_delivery)))
}
omnipod_button_set_time.setOnClickListener {
omnipod_overview_button_set_time.setOnClickListener {
disablePodActionButtons()
commandQueue.customCommand(CommandHandleTimeChange(true),
DisplayResultDialogCallback(resourceHelper.gs(R.string.omnipod_error_failed_to_set_time), true)
.messageOnSuccess(resourceHelper.gs(R.string.omnipod_confirmation_time_on_pod_updated)))
}
omnipod_button_pulse_log.setOnClickListener {
omnipod_overview_button_pulse_log.setOnClickListener {
disablePodActionButtons()
commandQueue.customCommand(CommandReadPulseLog(),
DisplayResultDialogCallback(resourceHelper.gs(R.string.omnipod_error_failed_to_read_pulse_log), false))
@ -184,7 +178,7 @@ class OmnipodFragment : DaggerFragment() {
}, { fabricPrivacy.logException(it) })
disposables += rxBus
.toObservable(EventPreferenceChange::class.java)
.observeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
updatePodActionButtons()
}, { fabricPrivacy.logException(it) })
@ -211,7 +205,7 @@ class OmnipodFragment : DaggerFragment() {
val resourceId = rileyLinkServiceState.getResourceId()
val rileyLinkError = rileyLinkServiceData.rileyLinkError
omnipod_rl_status.text =
omnipod_overview_riley_link_status.text =
when {
rileyLinkServiceState == RileyLinkServiceState.NotStarted -> resourceHelper.gs(resourceId)
rileyLinkServiceState.isConnecting -> "{fa-bluetooth-b spin} " + resourceHelper.gs(resourceId)
@ -219,7 +213,7 @@ class OmnipodFragment : DaggerFragment() {
rileyLinkServiceState.isError && rileyLinkError != null -> "{fa-bluetooth-b} " + resourceHelper.gs(rileyLinkError.getResourceId(RileyLinkTargetDevice.Omnipod))
else -> "{fa-bluetooth-b} " + resourceHelper.gs(resourceId)
}
omnipod_rl_status.setTextColor(if (rileyLinkServiceState.isError || rileyLinkError != null) Color.RED else Color.WHITE)
omnipod_overview_riley_link_status.setTextColor(if (rileyLinkServiceState.isError || rileyLinkError != null) Color.RED else Color.WHITE)
}
private fun updateOmnipodStatus() {
@ -237,41 +231,41 @@ class OmnipodFragment : DaggerFragment() {
}
if (!podStateManager.hasPodState() || !podStateManager.isPodInitialized) {
omnipod_pod_address.text = if (podStateManager.hasPodState()) {
omnipod_overview_pod_address.text = if (podStateManager.hasPodState()) {
podStateManager.address.toString()
} else {
PLACEHOLDER
}
omnipod_pod_lot.text = PLACEHOLDER
omnipod_pod_tid.text = PLACEHOLDER
omnipod_pod_firmware_version.text = PLACEHOLDER
omnipod_time_on_pod.text = PLACEHOLDER
omnipod_pod_expiry.text = PLACEHOLDER
omnipod_pod_expiry.setTextColor(Color.WHITE)
omnipod_base_basal_rate.text = PLACEHOLDER
omnipod_total_delivered.text = PLACEHOLDER
omnipod_reservoir.text = PLACEHOLDER
omnipod_reservoir.setTextColor(Color.WHITE)
omnipod_pod_active_alerts.text = PLACEHOLDER
omnipod_overview_pod_lot.text = PLACEHOLDER
omnipod_overview_pod_tid.text = PLACEHOLDER
omnipod_overview_firmware_version.text = PLACEHOLDER
omnipod_overview_time_on_pod.text = PLACEHOLDER
omnipod_overview_pod_expiry_date.text = PLACEHOLDER
omnipod_overview_pod_expiry_date.setTextColor(Color.WHITE)
omnipod_overview_base_basal_rate.text = PLACEHOLDER
omnipod_overview_total_delivered.text = PLACEHOLDER
omnipod_overview_reservoir.text = PLACEHOLDER
omnipod_overview_reservoir.setTextColor(Color.WHITE)
omnipod_overview_pod_active_alerts.text = PLACEHOLDER
} else {
omnipod_pod_address.text = podStateManager.address.toString()
omnipod_pod_lot.text = podStateManager.lot.toString()
omnipod_pod_tid.text = podStateManager.tid.toString()
omnipod_pod_firmware_version.text = resourceHelper.gs(R.string.omnipod_pod_firmware_version_value, podStateManager.pmVersion.toString(), podStateManager.piVersion.toString())
omnipod_overview_pod_address.text = podStateManager.address.toString()
omnipod_overview_pod_lot.text = podStateManager.lot.toString()
omnipod_overview_pod_tid.text = podStateManager.tid.toString()
omnipod_overview_firmware_version.text = resourceHelper.gs(R.string.omnipod_firmware_version_value, podStateManager.pmVersion.toString(), podStateManager.piVersion.toString())
omnipod_time_on_pod.text = readableZonedTime(podStateManager.time)
omnipod_time_on_pod.setTextColor(if (podStateManager.timeDeviatesMoreThan(Duration.standardMinutes(5))) {
omnipod_overview_time_on_pod.text = readableZonedTime(podStateManager.time)
omnipod_overview_time_on_pod.setTextColor(if (podStateManager.timeDeviatesMoreThan(Duration.standardMinutes(5))) {
Color.RED
} else {
Color.WHITE
})
val expiresAt = podStateManager.expiresAt
if (expiresAt == null) {
omnipod_pod_expiry.text = PLACEHOLDER
omnipod_pod_expiry.setTextColor(Color.WHITE)
omnipod_overview_pod_expiry_date.text = PLACEHOLDER
omnipod_overview_pod_expiry_date.setTextColor(Color.WHITE)
} else {
omnipod_pod_expiry.text = readableZonedTime(expiresAt)
omnipod_pod_expiry.setTextColor(if (DateTime.now().isAfter(expiresAt)) {
omnipod_overview_pod_expiry_date.text = readableZonedTime(expiresAt)
omnipod_overview_pod_expiry_date.setTextColor(if (DateTime.now().isAfter(expiresAt)) {
Color.RED
} else {
Color.WHITE
@ -286,29 +280,29 @@ class OmnipodFragment : DaggerFragment() {
val now = DateTime.now()
// base basal rate
omnipod_base_basal_rate.text = if (podStateManager.isPodActivationCompleted) {
omnipod_overview_base_basal_rate.text = if (podStateManager.isPodActivationCompleted) {
resourceHelper.gs(R.string.pump_basebasalrate, omnipodPumpPlugin.model().determineCorrectBasalSize(podStateManager.basalSchedule.rateAt(Duration(now.withTimeAtStartOfDay(), now))))
} else {
PLACEHOLDER
}
// total delivered
omnipod_total_delivered.text = if (podStateManager.isPodActivationCompleted && podStateManager.totalInsulinDelivered != null) {
resourceHelper.gs(R.string.omnipod_total_delivered, podStateManager.totalInsulinDelivered - OmnipodConstants.POD_SETUP_UNITS)
omnipod_overview_total_delivered.text = if (podStateManager.isPodActivationCompleted && podStateManager.totalInsulinDelivered != null) {
resourceHelper.gs(R.string.omnipod_overview_total_delivered_value, podStateManager.totalInsulinDelivered - OmnipodConstants.POD_SETUP_UNITS)
} else {
PLACEHOLDER
}
// reservoir
if (podStateManager.reservoirLevel == null) {
omnipod_reservoir.text = resourceHelper.gs(R.string.omnipod_reservoir_over50)
omnipod_reservoir.setTextColor(Color.WHITE)
omnipod_overview_reservoir.text = resourceHelper.gs(R.string.omnipod_overview_reservoir_value_over50)
omnipod_overview_reservoir.setTextColor(Color.WHITE)
} else {
omnipod_reservoir.text = resourceHelper.gs(R.string.omnipod_reservoir_left, podStateManager.reservoirLevel)
warnColors.setColorInverse(omnipod_reservoir, podStateManager.reservoirLevel, 50.0, 20.0)
omnipod_overview_reservoir.text = resourceHelper.gs(R.string.omnipod_overview_reservoir_value, podStateManager.reservoirLevel)
warnColors.setColorInverse(omnipod_overview_reservoir, podStateManager.reservoirLevel, 50.0, 20.0)
}
omnipod_pod_active_alerts.text = if (podStateManager.hasActiveAlerts()) {
omnipod_overview_pod_active_alerts.text = if (podStateManager.hasActiveAlerts()) {
TextUtils.join(System.lineSeparator(), omnipodUtil.getTranslatedActiveAlerts(podStateManager))
} else {
PLACEHOLDER
@ -316,27 +310,27 @@ class OmnipodFragment : DaggerFragment() {
}
if (errors.size == 0) {
omnipod_errors.text = PLACEHOLDER
omnipod_errors.setTextColor(Color.WHITE)
omnipod_overview_errors.text = PLACEHOLDER
omnipod_overview_errors.setTextColor(Color.WHITE)
} else {
omnipod_errors.text = StringUtils.join(errors, System.lineSeparator())
omnipod_errors.setTextColor(Color.RED)
omnipod_overview_errors.text = StringUtils.join(errors, System.lineSeparator())
omnipod_overview_errors.setTextColor(Color.RED)
}
}
private fun updateLastConnection() {
if (podStateManager.isPodInitialized && podStateManager.lastSuccessfulCommunication != null) {
omnipod_last_connection.text = readableDuration(podStateManager.lastSuccessfulCommunication)
omnipod_overview_last_connection.text = readableDuration(podStateManager.lastSuccessfulCommunication)
val lastConnectionColor =
if (omnipodPumpPlugin.isUnreachableAlertTimeoutExceeded(getPumpUnreachableTimeout().millis)) {
Color.RED
} else {
Color.WHITE
}
omnipod_last_connection.setTextColor(lastConnectionColor)
omnipod_overview_last_connection.setTextColor(lastConnectionColor)
} else {
omnipod_last_connection.setTextColor(Color.WHITE)
omnipod_last_connection.text = if (podStateManager.hasPodState() && podStateManager.lastSuccessfulCommunication != null) {
omnipod_overview_last_connection.setTextColor(Color.WHITE)
omnipod_overview_last_connection.text = if (podStateManager.hasPodState() && podStateManager.lastSuccessfulCommunication != null) {
readableDuration(podStateManager.lastSuccessfulCommunication)
} else {
PLACEHOLDER
@ -345,16 +339,16 @@ class OmnipodFragment : DaggerFragment() {
}
private fun updatePodStatus() {
omnipod_pod_status.text = if (!podStateManager.hasPodState()) {
omnipod_overview_pod_status.text = if (!podStateManager.hasPodState()) {
resourceHelper.gs(R.string.omnipod_pod_status_no_active_pod)
} else if (!podStateManager.isPodActivationCompleted) {
if (!podStateManager.isPodInitialized) {
resourceHelper.gs(R.string.omnipod_pod_status_waiting_for_pair_and_prime)
resourceHelper.gs(R.string.omnipod_pod_status_waiting_for_activation)
} else {
if (PodProgressStatus.ACTIVATION_TIME_EXCEEDED == podStateManager.podProgressStatus) {
resourceHelper.gs(R.string.omnipod_pod_status_activation_time_exceeded)
} else if (podStateManager.podProgressStatus.isBefore(PodProgressStatus.PRIMING_COMPLETED)) {
resourceHelper.gs(R.string.omnipod_pod_status_waiting_for_pair_and_prime)
resourceHelper.gs(R.string.omnipod_pod_status_waiting_for_activation)
} else {
resourceHelper.gs(R.string.omnipod_pod_status_waiting_for_cannula_insertion)
}
@ -380,12 +374,12 @@ class OmnipodFragment : DaggerFragment() {
} else {
Color.WHITE
}
omnipod_pod_status.setTextColor(podStatusColor)
omnipod_overview_pod_status.setTextColor(podStatusColor)
}
private fun updateLastBolus() {
if (podStateManager.isPodActivationCompleted && podStateManager.hasLastBolus()) {
var text = resourceHelper.gs(R.string.omnipod_last_bolus_value, omnipodPumpPlugin.model().determineCorrectBolusSize(podStateManager.lastBolusAmount), resourceHelper.gs(R.string.insulin_unit_shortname), readableDuration(podStateManager.lastBolusStartTime))
var text = resourceHelper.gs(R.string.omnipod_overview_last_bolus_value, omnipodPumpPlugin.model().determineCorrectBolusSize(podStateManager.lastBolusAmount), resourceHelper.gs(R.string.insulin_unit_shortname), readableDuration(podStateManager.lastBolusStartTime))
val textColor: Int
if (podStateManager.isLastBolusCertain) {
@ -395,12 +389,12 @@ class OmnipodFragment : DaggerFragment() {
text += " (" + resourceHelper.gs(R.string.omnipod_uncertain) + ")"
}
omnipod_last_bolus.text = text
omnipod_last_bolus.setTextColor(textColor)
omnipod_overview_last_bolus.text = text
omnipod_overview_last_bolus.setTextColor(textColor)
} else {
omnipod_last_bolus.text = PLACEHOLDER
omnipod_last_bolus.setTextColor(Color.WHITE)
omnipod_overview_last_bolus.text = PLACEHOLDER
omnipod_overview_last_bolus.setTextColor(Color.WHITE)
}
}
@ -416,7 +410,7 @@ class OmnipodFragment : DaggerFragment() {
var text: String
val textColor: Int
text = resourceHelper.gs(R.string.omnipod_temp_basal_value, amount, dateUtil.timeString(startTime.millis), minutesRunning, duration.standardMinutes)
text = resourceHelper.gs(R.string.omnipod_overview_temp_basal_value, amount, dateUtil.timeString(startTime.millis), minutesRunning, duration.standardMinutes)
if (podStateManager.isTempBasalCertain) {
textColor = Color.WHITE
} else {
@ -424,20 +418,20 @@ class OmnipodFragment : DaggerFragment() {
text += " (" + resourceHelper.gs(R.string.omnipod_uncertain) + ")"
}
omnipod_temp_basal.text = text
omnipod_temp_basal.setTextColor(textColor)
omnipod_overview_temp_basal.text = text
omnipod_overview_temp_basal.setTextColor(textColor)
} else {
omnipod_temp_basal.text = PLACEHOLDER
omnipod_temp_basal.setTextColor(Color.WHITE)
omnipod_overview_temp_basal.text = PLACEHOLDER
omnipod_overview_temp_basal.setTextColor(Color.WHITE)
}
}
private fun updateQueueStatus() {
if (isQueueEmpty()) {
omnipod_queue.visibility = View.GONE
omnipod_overview_queue.visibility = View.GONE
} else {
omnipod_queue.visibility = View.VISIBLE
omnipod_queue.text = commandQueue.spannedStatus().toString()
omnipod_overview_queue.visibility = View.VISIBLE
omnipod_overview_queue.text = commandQueue.spannedStatus().toString()
}
}
@ -451,62 +445,62 @@ class OmnipodFragment : DaggerFragment() {
}
private fun disablePodActionButtons() {
omnipod_button_acknowledge_active_alerts.isEnabled = false
omnipod_button_resume_delivery.isEnabled = false
omnipod_button_suspend_delivery.isEnabled = false
omnipod_button_set_time.isEnabled = false
omnipod_button_refresh_status.isEnabled = false
omnipod_button_pulse_log.isEnabled = false
omnipod_overview_button_acknowledge_active_alerts.isEnabled = false
omnipod_overview_button_resume_delivery.isEnabled = false
omnipod_overview_button_suspend_delivery.isEnabled = false
omnipod_overview_button_set_time.isEnabled = false
omnipod_overview_button_refresh_status.isEnabled = false
omnipod_overview_button_pulse_log.isEnabled = false
}
private fun updateRefreshStatusButton() {
omnipod_button_refresh_status.isEnabled = podStateManager.isPodInitialized && podStateManager.podProgressStatus.isAtLeast(PodProgressStatus.PAIRING_COMPLETED)
omnipod_overview_button_refresh_status.isEnabled = podStateManager.isPodInitialized && podStateManager.podProgressStatus.isAtLeast(PodProgressStatus.PAIRING_COMPLETED)
&& rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
}
private fun updateResumeDeliveryButton() {
if (podStateManager.isPodRunning && (podStateManager.isSuspended || commandQueue.isCustomCommandInQueue(CommandResumeDelivery::class.java))) {
omnipod_button_resume_delivery.visibility = View.VISIBLE
omnipod_button_resume_delivery.isEnabled = rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
omnipod_overview_button_resume_delivery.visibility = View.VISIBLE
omnipod_overview_button_resume_delivery.isEnabled = rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
} else {
omnipod_button_resume_delivery.visibility = View.GONE
omnipod_overview_button_resume_delivery.visibility = View.GONE
}
}
private fun updateAcknowledgeAlertsButton() {
if (podStateManager.isPodRunning && (podStateManager.hasActiveAlerts() || commandQueue.isCustomCommandInQueue(CommandAcknowledgeAlerts::class.java))) {
omnipod_button_acknowledge_active_alerts.visibility = View.VISIBLE
omnipod_button_acknowledge_active_alerts.isEnabled = rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
omnipod_overview_button_acknowledge_active_alerts.visibility = View.VISIBLE
omnipod_overview_button_acknowledge_active_alerts.isEnabled = rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
} else {
omnipod_button_acknowledge_active_alerts.visibility = View.GONE
omnipod_overview_button_acknowledge_active_alerts.visibility = View.GONE
}
}
private fun updateSuspendDeliveryButton() {
// If the Pod is currently suspended, we show the Resume delivery button instead.
if (omnipodManager.isSuspendDeliveryButtonEnabled && podStateManager.isPodRunning && (!podStateManager.isSuspended || commandQueue.isCustomCommandInQueue(CommandSuspendDelivery::class.java))) {
omnipod_button_suspend_delivery.visibility = View.VISIBLE
omnipod_button_suspend_delivery.isEnabled = podStateManager.isPodRunning && !podStateManager.isSuspended && rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
omnipod_overview_button_suspend_delivery.visibility = View.VISIBLE
omnipod_overview_button_suspend_delivery.isEnabled = podStateManager.isPodRunning && !podStateManager.isSuspended && rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
} else {
omnipod_button_suspend_delivery.visibility = View.GONE
omnipod_overview_button_suspend_delivery.visibility = View.GONE
}
}
private fun updateSetTimeButton() {
if (podStateManager.isPodRunning && (podStateManager.timeDeviatesMoreThan(Duration.standardMinutes(5)) || commandQueue.isCustomCommandInQueue(CommandHandleTimeChange::class.java))) {
omnipod_button_set_time.visibility = View.VISIBLE
omnipod_button_set_time.isEnabled = !podStateManager.isSuspended && rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
omnipod_overview_button_set_time.visibility = View.VISIBLE
omnipod_overview_button_set_time.isEnabled = !podStateManager.isSuspended && rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
} else {
omnipod_button_set_time.visibility = View.GONE
omnipod_overview_button_set_time.visibility = View.GONE
}
}
private fun updatePulseLogButton() {
if (omnipodManager.isPulseLogButtonEnabled) {
omnipod_button_pulse_log.visibility = View.VISIBLE
omnipod_button_pulse_log.isEnabled = podStateManager.isPodActivationCompleted && rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
omnipod_overview_button_pulse_log.visibility = View.VISIBLE
omnipod_overview_button_pulse_log.isEnabled = podStateManager.isPodActivationCompleted && rileyLinkServiceData.rileyLinkServiceState.isReady && isQueueEmpty()
} else {
omnipod_button_pulse_log.visibility = View.GONE
omnipod_overview_button_pulse_log.visibility = View.GONE
}
}
@ -548,7 +542,7 @@ class OmnipodFragment : DaggerFragment() {
val isDaylightTime = timeZone.inDaylightTime(timeAsJavaData)
val locale = resources.configuration.locales.get(0)
val timeZoneDisplayName = timeZone.getDisplayName(isDaylightTime, TimeZone.SHORT, locale) + " " + timeZone.getDisplayName(isDaylightTime, TimeZone.LONG, locale)
return resourceHelper.gs(R.string.omnipod_pod_time_with_timezone, dateUtil.dateAndTimeString(timeAsJavaData), timeZoneDisplayName)
return resourceHelper.gs(R.string.omnipod_time_with_timezone, dateUtil.dateAndTimeString(timeAsJavaData), timeZoneDisplayName)
}
private fun readableDuration(dateTime: DateTime): String {

View file

@ -254,7 +254,7 @@ public class PodHistoryActivity extends NoSplashAppCompatActivity {
}
break;
case FILL_CANNULA_SET_BASAL_PROFILE:
case INSERT_CANNULA:
case SET_BASAL_SCHEDULE: {
if (historyEntry.getData() != null) {
setProfileValue(historyEntry.getData(), valueView);
@ -275,7 +275,7 @@ public class PodHistoryActivity extends NoSplashAppCompatActivity {
case GET_POD_STATUS:
case GET_POD_INFO:
case SET_TIME:
case PAIR_AND_PRIME:
case ACTIVATE_POD:
case CANCEL_TEMPORARY_BASAL_BY_DRIVER:
case CANCEL_TEMPORARY_BASAL:
case CONFIGURE_ALERTS:

View file

@ -4,11 +4,6 @@ import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.LinearLayout
import androidx.fragment.app.FragmentStatePagerAdapter
import com.atech.android.library.wizardpager.WizardPagerActivity
import com.atech.android.library.wizardpager.WizardPagerContext
import com.atech.android.library.wizardpager.data.WizardPagerSettings
import com.atech.android.library.wizardpager.defs.WizardStepsWayType
import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.activities.NoSplashAppCompatActivity
import info.nightscout.androidaps.interfaces.CommandQueueProvider
@ -16,21 +11,17 @@ import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProgressStatus
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateManager
import info.nightscout.androidaps.plugins.pump.omnipod.event.EventOmnipodPumpValuesChanged
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model.FullInitPodWizardModel
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model.RemovePodWizardModel
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model.ShortInitPodWizardModel
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.ReplacePodWizardActivity
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.ChangePodWizardActivity
import info.nightscout.androidaps.utils.FabricPrivacy
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
import info.nightscout.androidaps.utils.extensions.plusAssign
import info.nightscout.androidaps.utils.resources.ResourceHelper
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import kotlinx.android.synthetic.main.omnipod_pod_mgmt.*
import kotlinx.android.synthetic.main.omnipod_pod_management.*
import javax.inject.Inject
/**
@ -51,26 +42,18 @@ class PodManagementActivity : NoSplashAppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.omnipod_pod_mgmt)
setContentView(R.layout.omnipod_pod_management)
initpod_init_pod.setOnClickListener {
initPodAction()
}
initpod_replace_pod.setOnClickListener {
val myIntent = Intent(this@PodManagementActivity, ReplacePodWizardActivity::class.java)
omnipod_pod_management_button_change_pod.setOnClickListener {
val myIntent = Intent(this@PodManagementActivity, ChangePodWizardActivity::class.java)
this@PodManagementActivity.startActivity(myIntent)
}
initpod_remove_pod.setOnClickListener {
deactivatePodAction()
}
initpod_reset_pod.setOnClickListener {
omnipod_pod_management_button_discard_pod.setOnClickListener {
discardPodAction()
}
initpod_pod_history.setOnClickListener {
omnipod_pod_management_button_pod_history.setOnClickListener {
showPodHistory()
}
}
@ -94,57 +77,10 @@ class PodManagementActivity : NoSplashAppCompatActivity() {
disposables.clear()
}
private fun initPodAction() {
val pagerSettings = WizardPagerSettings()
pagerSettings.setWizardStepsWayType(WizardStepsWayType.CancelNext)
pagerSettings.setFinishStringResourceId(R.string.close)
pagerSettings.setFinishButtonBackground(R.drawable.finish_background)
pagerSettings.setNextButtonBackground(R.drawable.selectable_item_background)
pagerSettings.setBackStringResourceId(R.string.cancel)
pagerSettings.pagerAdapterBehavior = FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
val wizardPagerContext = WizardPagerContext.getInstance()
wizardPagerContext.clearContext()
wizardPagerContext.pagerSettings = pagerSettings
val isFullInit = !podStateManager.isPodInitialized || podStateManager.podProgressStatus.isBefore(PodProgressStatus.PRIMING_COMPLETED)
if (isFullInit) {
wizardPagerContext.wizardModel = FullInitPodWizardModel(applicationContext)
} else {
wizardPagerContext.wizardModel = ShortInitPodWizardModel(applicationContext)
}
val myIntent = Intent(this@PodManagementActivity, WizardPagerActivity::class.java)
this@PodManagementActivity.startActivity(myIntent)
}
private fun deactivatePodAction() {
val pagerSettings = WizardPagerSettings()
pagerSettings.setWizardStepsWayType(WizardStepsWayType.CancelNext)
pagerSettings.setFinishStringResourceId(R.string.close)
pagerSettings.setFinishButtonBackground(R.drawable.finish_background)
pagerSettings.setNextButtonBackground(R.drawable.selectable_item_background)
pagerSettings.setBackStringResourceId(R.string.cancel)
pagerSettings.pagerAdapterBehavior = FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
val wizardPagerContext = WizardPagerContext.getInstance();
wizardPagerContext.clearContext()
wizardPagerContext.pagerSettings = pagerSettings
wizardPagerContext.wizardModel = RemovePodWizardModel(applicationContext)
val myIntent = Intent(this@PodManagementActivity, WizardPagerActivity::class.java)
this@PodManagementActivity.startActivity(myIntent)
}
private fun discardPodAction() {
OKDialog.showConfirmation(this,
resourceHelper.gs(R.string.omnipod_discard_pod_state_confirmation), Thread {
resourceHelper.gs(R.string.omnipod_pod_management_discard_pod_state_confirmation), Thread {
aapsOmnipodManager.discardPodState()
rxBus.send(EventOmnipodPumpValuesChanged())
})
}
@ -153,20 +89,17 @@ class PodManagementActivity : NoSplashAppCompatActivity() {
}
private fun refreshButtons() {
initpod_init_pod.isEnabled = !podStateManager.isPodActivationCompleted
initpod_remove_pod.isEnabled = podStateManager.isPodInitialized
initpod_reset_pod.isEnabled = podStateManager.hasPodState()
omnipod_pod_management_button_change_pod.isEnabled = true
omnipod_pod_management_button_discard_pod.isEnabled = podStateManager.hasPodState()
val waitingForRlView = findViewById<LinearLayout>(R.id.initpod_waiting_for_rl_layout)
val waitingForRlLayout = findViewById<LinearLayout>(R.id.omnipod_pod_management_waiting_for_rl_layout)
if (rileyLinkServiceData.rileyLinkServiceState.isReady) {
waitingForRlView.visibility = View.GONE
waitingForRlLayout.visibility = View.GONE
} else {
// if rileylink is not running we disable all operations that require a RL connection
waitingForRlView.visibility = View.VISIBLE
initpod_init_pod.isEnabled = false
initpod_remove_pod.isEnabled = false
initpod_reset_pod.isEnabled = false
waitingForRlLayout.visibility = View.VISIBLE
omnipod_pod_management_button_change_pod.isEnabled = false
omnipod_pod_management_button_discard_pod.isEnabled = false
}
}

View file

@ -1,4 +1,4 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard
import android.app.AlertDialog
import android.os.Bundle
@ -11,7 +11,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProg
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateManager
import javax.inject.Inject
class ReplacePodWizardActivity : NoSplashAppCompatActivity() {
class ChangePodWizardActivity : NoSplashAppCompatActivity() {
companion object {
const val KEY_START_DESTINATION = "startDestination"
}
@ -25,6 +25,8 @@ class ReplacePodWizardActivity : NoSplashAppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.omnipod_change_pod_wizard_activity)
startDestination = savedInstanceState?.getInt(KEY_START_DESTINATION, R.id.deactivatePodInfoFragment)
?: if (!podStateManager.isPodActivationCompleted) {
if (!podStateManager.isPodInitialized || podStateManager.podProgressStatus.isBefore(PodProgressStatus.PRIMING_COMPLETED)) {
@ -36,29 +38,16 @@ class ReplacePodWizardActivity : NoSplashAppCompatActivity() {
R.id.deactivatePodInfoFragment
}
setContentView(R.layout.omnipod_replace_pod_wizard_activity)
val navController = getNavController()
if (savedInstanceState == null) {
val navInflater = navController.navInflater
val graph = navInflater.inflate(R.navigation.omnipod_replace_pod_wizard_navigation_graph)
graph.startDestination = startDestination
navController.graph = graph
}
navController.addOnDestinationChangedListener { controller, destination, _ ->
if (destination.id == R.id.deactivatePodInfoFragment) {
startDestination = R.id.deactivatePodInfoFragment
controller.graph.startDestination = R.id.deactivatePodInfoFragment
}
}
setStartDestination(startDestination)
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt(KEY_START_DESTINATION, startDestination)
fun setStartDestination(@IdRes startDestination: Int) {
this.startDestination = startDestination
val navController = getNavController()
val navInflater = navController.navInflater
val graph = navInflater.inflate(R.navigation.omnipod_change_pod_wizard_navigation_graph)
graph.startDestination = startDestination
navController.graph = graph
}
override fun onBackPressed() {
@ -71,14 +60,19 @@ class ReplacePodWizardActivity : NoSplashAppCompatActivity() {
} else {
AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(getString(R.string.omnipod_replace_pod_wizard_replace_pod))
.setMessage(getString(R.string.omnipod_replace_pod_wizard_exit_confirmation))
.setTitle(getString(R.string.omnipod_change_pod_wizard_change_pod))
.setMessage(getString(R.string.omnipod_change_pod_wizard_exit_confirmation))
.setPositiveButton(getString(R.string.omnipod_yes)) { _, _ -> finish() }
.setNegativeButton(getString(R.string.omnipod_no), null)
.show()
}
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt(KEY_START_DESTINATION, startDestination)
}
private fun getNavController(): NavController =
(supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment).navController

View file

@ -1,7 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.defs;
public enum PodActionType {
INIT_POD,
DEACTIVATE_POD,
DISCARD_POD
}

View file

@ -1,4 +1,4 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment
import android.content.res.ColorStateList
import android.os.Bundle
@ -8,23 +8,24 @@ import android.view.ViewGroup
import android.view.ViewStub
import androidx.annotation.IdRes
import androidx.annotation.LayoutRes
import androidx.annotation.StringRes
import androidx.navigation.fragment.findNavController
import dagger.android.support.DaggerFragment
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.ReplacePodWizardActivity
import kotlinx.android.synthetic.main.omnipod_replace_pod_wizard_base_fragment.*
import kotlinx.android.synthetic.main.omnipod_replace_pod_wizard_nav_buttons.*
import kotlinx.android.synthetic.main.omnipod_replace_pod_wizard_progress_indication.*
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.ChangePodWizardActivity
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_base_fragment.*
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_nav_buttons.*
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_progress_indication.*
import kotlin.math.roundToInt
abstract class FragmentBase : DaggerFragment() {
abstract class ChangePodWizardFragmentBase : DaggerFragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val baseView = inflater.inflate(R.layout.omnipod_replace_pod_wizard_base_fragment, container, false)
val contentView = baseView.findViewById<ViewStub>(R.id.omnipod_wizard_base_fragment_content)
val baseView = inflater.inflate(R.layout.omnipod_change_pod_wizard_base_fragment, container, false)
val contentView = baseView.findViewById<ViewStub>(R.id.omnipod_change_pod_wizard_base_fragment_content)
contentView?.let {
it.layoutResource = getLayoutId()
it.inflate()
@ -35,18 +36,18 @@ abstract class FragmentBase : DaggerFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_wizard_base_fragment_title.text = getTitle()
omnipod_change_pod_wizard_base_fragment_title.setText(getTitleId())
val nextPage = getNextPageActionId()
if (nextPage == null) {
omnipod_replace_pod_wizard_button_next.text = getString(R.string.omnipod_replace_pod_wizard_button_finish)
omnipod_replace_pod_wizard_button_next.backgroundTintList = ColorStateList.valueOf(resources.getColor(R.color.review_green, context?.theme))
omnipod_change_pod_wizard_button_next.text = getString(R.string.omnipod_change_pod_wizard_button_finish)
omnipod_change_pod_wizard_button_next.backgroundTintList = ColorStateList.valueOf(resources.getColor(R.color.review_green, context?.theme))
}
updateProgressIndication()
omnipod_replace_pod_wizard_button_next.setOnClickListener {
omnipod_change_pod_wizard_button_next.setOnClickListener {
if (nextPage == null) {
activity?.finish()
} else {
@ -54,14 +55,16 @@ abstract class FragmentBase : DaggerFragment() {
}
}
omnipod_replace_pod_wizard_button_cancel.setOnClickListener {
(activity as? ReplacePodWizardActivity)?.exitActivityAfterConfirmation()
omnipod_change_pod_wizard_button_cancel.setOnClickListener {
(activity as? ChangePodWizardActivity)?.exitActivityAfterConfirmation()
}
}
private fun updateProgressIndication() {
val findNavController = findNavController()
val graph = findNavController.graph
val totalFragments =
when (findNavController().graph.startDestination) {
when (graph.startDestination) {
R.id.fillPodInfoFragment -> {
8 - 3
}
@ -78,16 +81,17 @@ abstract class FragmentBase : DaggerFragment() {
val currentFragment = getIndex() - (8 - totalFragments)
val progressPercentage = (currentFragment / totalFragments.toDouble() * 100).roundToInt()
omnipod_replace_pod_wizard_progress_indication.progress = progressPercentage
omnipod_change_pod_wizard_progress_indication.progress = progressPercentage
}
@LayoutRes
abstract fun getLayoutId(): Int
protected abstract fun getLayoutId(): Int
@IdRes
abstract fun getNextPageActionId(): Int?
protected abstract fun getNextPageActionId(): Int?
abstract fun getTitle(): String
@StringRes
protected abstract fun getTitleId(): Int
abstract fun getIndex(): Int
protected abstract fun getIndex(): Int
}

View file

@ -0,0 +1,80 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action
import android.os.Bundle
import android.view.View
import androidx.annotation.LayoutRes
import androidx.annotation.StringRes
import androidx.lifecycle.Observer
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.ChangePodWizardFragmentBase
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.ActionViewModelBase
import info.nightscout.androidaps.utils.extensions.toVisibility
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_action_page_fragment.*
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_nav_buttons.*
abstract class ActionFragmentBase : ChangePodWizardFragmentBase() {
protected lateinit var viewModel: ActionViewModelBase
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_change_pod_wizard_button_next.isEnabled = false
omnipod_change_pod_wizard_action_page_text.setText(getTextId())
omnipod_change_pod_wizard_button_retry.setOnClickListener { viewModel.executeAction() }
viewModel.isActionExecutingLiveData.observe(viewLifecycleOwner, Observer { isExecuting ->
if (isExecuting) {
omnipod_change_pod_wizard_action_error.visibility = View.GONE
omnipod_change_pod_wizard_button_deactivate_pod.visibility = View.GONE
omnipod_change_pod_wizard_button_discard_pod.visibility = View.GONE
omnipod_change_pod_wizard_button_retry.visibility = View.GONE
}
omnipod_change_pod_wizard_action_progress_indication.visibility = isExecuting.toVisibility()
omnipod_change_pod_wizard_button_cancel.isEnabled = !isExecuting
})
viewModel.actionResultLiveData.observe(viewLifecycleOwner, Observer { result ->
result?.let {
val isExecuting = isActionExecuting()
omnipod_change_pod_wizard_button_next.isEnabled = result.success
omnipod_change_pod_wizard_action_success.visibility = result.success.toVisibility()
omnipod_change_pod_wizard_action_error.visibility = (!isExecuting && !result.success).toVisibility()
omnipod_change_pod_wizard_button_retry.visibility = (!isExecuting && !result.success).toVisibility()
if (result.success) {
onActionSuccess()
} else {
omnipod_change_pod_wizard_action_error.text = result.comment
onActionFailure()
}
}
})
if (savedInstanceState == null && !isActionExecuting()) {
viewModel.executeAction()
}
}
protected fun isActionExecuting() = viewModel.isActionExecutingLiveData.value!!
override fun onDestroyView() {
super.onDestroyView()
viewModel.isActionExecutingLiveData.removeObservers(viewLifecycleOwner)
viewModel.actionResultLiveData.removeObservers(viewLifecycleOwner)
}
fun onActionSuccess() {}
open fun onActionFailure() {}
@StringRes
abstract fun getTextId(): Int
@LayoutRes
override fun getLayoutId(): Int {
return R.layout.omnipod_change_pod_wizard_action_page_fragment
}
}

View file

@ -0,0 +1,64 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action
import android.app.AlertDialog
import android.os.Bundle
import android.view.View
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.dagger.OmnipodPluginQualifier
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.DeactivatePodActionViewModel
import info.nightscout.androidaps.utils.extensions.toVisibility
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_action_page_fragment.*
import javax.inject.Inject
class DeactivatePodActionFragment : ActionFragmentBase() {
@Inject
@OmnipodPluginQualifier
lateinit var viewModelFactory: ViewModelProvider.Factory
@Inject
lateinit var aapsOmnipodManager: AapsOmnipodManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val vm: DeactivatePodActionViewModel by viewModels { viewModelFactory }
this.viewModel = vm
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_change_pod_wizard_button_discard_pod.setOnClickListener {
AlertDialog.Builder(context)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(getString(R.string.omnipod_change_pod_wizard_discard_pod))
.setMessage(getString(R.string.omnipod_change_pod_wizard_discard_pod_confirmation))
.setPositiveButton(getString(R.string.omnipod_yes)) { _, _ ->
aapsOmnipodManager.discardPodState()
findNavController().navigate(R.id.action_deactivatePodActionFragment_to_podDiscardedInfoFragment)
}
.setNegativeButton(getString(R.string.omnipod_no), null)
.show()
}
}
override fun onActionFailure() {
omnipod_change_pod_wizard_button_discard_pod.visibility = (!isActionExecuting()).toVisibility()
}
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_deactivating_pod_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_deactivating_pod_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_deactivatePodActionFragment_to_podDeactivatedInfoFragment
override fun getIndex(): Int = 2
}

View file

@ -0,0 +1,61 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action
import android.os.Bundle
import android.view.View
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.dagger.OmnipodPluginQualifier
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProgressStatus
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateManager
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.ChangePodWizardActivity
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.InsertCannulaActionViewModel
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_action_page_fragment.*
import javax.inject.Inject
class InsertCannulaActionFragment : ActionFragmentBase() {
@Inject
@OmnipodPluginQualifier
lateinit var viewModelFactory: ViewModelProvider.Factory
@Inject
lateinit var podStateManager: PodStateManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val vm: InsertCannulaActionViewModel by viewModels { viewModelFactory }
this.viewModel = vm
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_change_pod_wizard_button_deactivate_pod.setOnClickListener {
(activity as? ChangePodWizardActivity)?.setStartDestination(R.id.deactivatePodInfoFragment)
findNavController().navigate(R.id.deactivatePodInfoFragment)
}
}
override fun onActionFailure() {
if (podStateManager.isPodInitialized && podStateManager.podProgressStatus == PodProgressStatus.ACTIVATION_TIME_EXCEEDED) {
omnipod_change_pod_wizard_action_error.setText(R.string.omnipod_error_pod_fault_activation_time_exceeded)
omnipod_change_pod_wizard_button_retry.visibility = View.GONE
omnipod_change_pod_wizard_button_deactivate_pod.visibility = View.VISIBLE
}
}
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_insert_cannula_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_insert_cannula_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_insertCannulaActionFragment_to_PodChangedInfoFragment
override fun getIndex(): Int = 7
}

View file

@ -0,0 +1,61 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action
import android.os.Bundle
import android.view.View
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.dagger.OmnipodPluginQualifier
import info.nightscout.androidaps.plugins.pump.omnipod.driver.definition.PodProgressStatus
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateManager
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.ChangePodWizardActivity
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel.PairAndPrimePodActionViewModel
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_action_page_fragment.*
import javax.inject.Inject
class PairAndPrimePodActionFragment : ActionFragmentBase() {
@Inject
@OmnipodPluginQualifier
lateinit var viewModelFactory: ViewModelProvider.Factory
@Inject
lateinit var podStateManager: PodStateManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val vm: PairAndPrimePodActionViewModel by viewModels { viewModelFactory }
this.viewModel = vm
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_change_pod_wizard_button_deactivate_pod.setOnClickListener {
(activity as? ChangePodWizardActivity)?.setStartDestination(R.id.deactivatePodInfoFragment)
findNavController().navigate(R.id.deactivatePodInfoFragment)
}
}
override fun onActionFailure() {
if (podStateManager.isPodInitialized && podStateManager.podProgressStatus == PodProgressStatus.ACTIVATION_TIME_EXCEEDED) {
omnipod_change_pod_wizard_action_error.setText(R.string.omnipod_error_pod_fault_activation_time_exceeded)
omnipod_change_pod_wizard_button_retry.visibility = View.GONE
omnipod_change_pod_wizard_button_deactivate_pod.visibility = View.VISIBLE
}
}
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_activate_pod_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_activate_pod_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_pairAndPrimePodActionFragment_to_attachPodInfoFragment
override fun getIndex(): Int = 5
}

View file

@ -1,13 +1,18 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
class AttachPodInfoFragment : InfoFragmentBase() {
override fun getText(): String = "Attach the Pod"
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_attach_pod_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_attach_pod_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_attachPodInfoFragment_to_insertCannulaActionFragment
override fun getTitle(): String = "Attach Pod"
override fun getIndex(): Int = 6
}

View file

@ -1,13 +1,18 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
class DeactivatePodInfoFragment : InfoFragmentBase() {
override fun getText(): String = "Deactivate the Pod"
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_deactivate_pod_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_deactivate_pod_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_deactivatePodInfoFragment_to_deactivatePodActionFragment
override fun getTitle(): String = "Deactivate Pod"
override fun getIndex(): Int = 1
}

View file

@ -1,13 +1,18 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
class FillPodInfoFragment : InfoFragmentBase() {
override fun getText(): String = "Fill the Pod"
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_fill_pod_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_fill_pod_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_fillPodInfoFragment_to_pairAndPrimePodActionFragment
override fun getTitle(): String = "Fill new Pod"
override fun getIndex(): Int = 4
}

View file

@ -0,0 +1,27 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import android.os.Bundle
import android.view.View
import androidx.annotation.LayoutRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.ChangePodWizardFragmentBase
import kotlinx.android.synthetic.main.omnipod_change_pod_wizard_info_page_fragment.*
abstract class InfoFragmentBase : ChangePodWizardFragmentBase() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_change_pod_wizard_info_page_text.setText(getTextId())
}
@StringRes
abstract fun getTextId(): Int
@LayoutRes
override fun getLayoutId(): Int {
return R.layout.omnipod_change_pod_wizard_info_page_fragment
}
}

View file

@ -0,0 +1,18 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
class PodChangedInfoFragment : InfoFragmentBase() {
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_pod_changed_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_pod_changed_text
@IdRes
override fun getNextPageActionId(): Int? = null
override fun getIndex(): Int = 8
}

View file

@ -1,13 +1,18 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
class PodDeactivatedInfoFragment : InfoFragmentBase() {
override fun getText(): String = "Please remove the Pod from your body"
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_pod_deactivated_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_pod_deactivated_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_podDeactivatedInfoFragment_to_fillPodInfoFragment
override fun getTitle(): String = "Remove Pod"
override fun getIndex(): Int = 3
}

View file

@ -0,0 +1,18 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import info.nightscout.androidaps.plugins.pump.omnipod.R
class PodDiscardedInfoFragment : InfoFragmentBase() {
@StringRes
override fun getTitleId(): Int = R.string.omnipod_change_pod_wizard_pod_discarded_title
@StringRes
override fun getTextId(): Int = R.string.omnipod_change_pod_wizard_pod_discarded_text
@IdRes
override fun getNextPageActionId(): Int = R.id.action_podDiscardedInfoFragment_to_fillPodInfoFragment
override fun getIndex(): Int = 3
}

View file

@ -1,223 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.fragment.app.FragmentActivity;
import com.atech.android.library.wizardpager.util.WizardPagesUtil;
import com.tech.freak.wizardpager.model.Page;
import com.tech.freak.wizardpager.ui.PageFragmentCallbacks;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.inject.Inject;
import dagger.android.HasAndroidInjector;
import dagger.android.support.DaggerFragment;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitReceiver;
/**
* Created by andy on 12/11/2019
*/
public class InitActionFragment extends DaggerFragment implements PodInitReceiver {
protected static final String ARG_KEY = "key";
protected static final String ARG_POD_INIT_ACTION_TYPE = "podInitActionType";
private static boolean isFirstView;
private PageFragmentCallbacks mCallbacks;
private String mKey;
protected InitActionPage mPage;
protected ProgressBar progressBar;
protected TextView errorView;
protected Button retryButton;
PodInitActionType podInitActionType;
private List<PodInitActionType> children;
protected Map<PodInitActionType, CheckBox> mapCheckBoxes;
protected PumpEnactResult callResult;
@Inject HasAndroidInjector injector;
public static InitActionFragment create(String key, PodInitActionType podInitActionType) {
Bundle args = new Bundle();
args.putString(ARG_KEY, key);
args.putSerializable(ARG_POD_INIT_ACTION_TYPE, podInitActionType);
InitActionFragment fragment = new InitActionFragment();
fragment.setArguments(args);
return fragment;
}
@SuppressLint("SourceLockedOrientationActivity")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
isFirstView = true;
}
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Bundle args = getArguments();
mKey = args.getString(ARG_KEY);
podInitActionType = (PodInitActionType) args.getSerializable(ARG_POD_INIT_ACTION_TYPE);
mPage = (InitActionPage) mCallbacks.onGetPage(mKey);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View rootView = inflater.inflate(R.layout.omnipod_initpod_init_action, container, false);
WizardPagesUtil.setTitle(mPage, rootView);
this.progressBar = rootView.findViewById(R.id.initAction_progressBar);
this.errorView = rootView.findViewById(R.id.initAction_textErrorMessage);
TextView headerView = rootView.findViewById(R.id.initAction_header);
LinearLayout linearLayout = rootView.findViewById(R.id.initAction_ItemsHolder);
children = podInitActionType.getChildren();
mapCheckBoxes = new HashMap<>();
for (PodInitActionType child : children) {
CheckBox checkBox1 = new CheckBox(getContext());
checkBox1.setText(child.getResourceId());
checkBox1.setClickable(false);
checkBox1.setTextAppearance(R.style.WizardPagePodListItem);
checkBox1.setHeight(120);
checkBox1.setTextSize(15);
checkBox1.setTextColor(headerView.getTextColors().getDefaultColor());
linearLayout.addView(checkBox1);
mapCheckBoxes.put(child, checkBox1);
}
if (podInitActionType == PodInitActionType.FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP) {
headerView.setText(R.string.omnipod_init_pod_wizard_step4_action_header);
} else if (podInitActionType == PodInitActionType.DEACTIVATE_POD_WIZARD_STEP) {
headerView.setText(R.string.omnipod_remove_pod_wizard_step2_action_header);
}
this.retryButton = rootView.findViewById(R.id.initAction_RetryButton);
this.retryButton.setOnClickListener(view -> {
getActivity().runOnUiThread(() -> {
for (PodInitActionType actionType : mapCheckBoxes.keySet()) {
mapCheckBoxes.get(actionType).setChecked(false);
mapCheckBoxes.get(actionType).setTextColor(headerView.getTextColors().getDefaultColor());
}
});
new InitPodTask(injector, this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
});
return rootView;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
FragmentActivity activity = getActivity();
if (!(activity instanceof PageFragmentCallbacks)) {
throw new ClassCastException("Activity must implement PageFragmentCallbacks");
}
mCallbacks = (PageFragmentCallbacks) activity;
}
@Override
public void onDetach() {
super.onDetach();
mCallbacks = null;
}
@Override
public void onResume() {
super.onResume();
if (isFirstView) {
isFirstView = false;
new InitPodTask(injector, this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
public void actionOnReceiveResponse(String result) {
}
@Override
public void returnInitTaskStatus(PodInitActionType podInitActionType, boolean isSuccess, String errorMessage) {
if (podInitActionType.isParent()) {
for (PodInitActionType actionType : mapCheckBoxes.keySet()) {
setCheckBox(actionType, isSuccess);
}
// special handling for init
processOnFinishedActions(isSuccess, errorMessage);
} else {
setCheckBox(podInitActionType, isSuccess);
}
}
private void processOnFinishedActions(boolean isOk, String errorMessage) {
FragmentActivity activity = getActivity();
if (activity != null) {
activity.runOnUiThread(() -> {
progressBar.setVisibility(View.GONE);
if (!isOk) {
errorView.setVisibility(View.VISIBLE);
errorView.setText(errorMessage);
retryButton.setVisibility(View.VISIBLE);
}
mPage.setActionCompleted(isOk);
mPage.getData().putString(Page.SIMPLE_DATA_KEY, UUID.randomUUID().toString());
mPage.notifyDataChanged();
});
}
}
protected void setCheckBox(PodInitActionType podInitActionType, boolean isSuccess) {
FragmentActivity activity = getActivity();
if (activity != null) {
activity.runOnUiThread(() -> {
mapCheckBoxes.get(podInitActionType).setChecked(isSuccess);
mapCheckBoxes.get(podInitActionType).setTextColor(isSuccess ? Color.rgb(34, 135, 91) :
Color.rgb(168, 36, 15));
});
}
}
}

View file

@ -1,73 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod;
import androidx.annotation.StringRes;
import androidx.fragment.app.Fragment;
import com.tech.freak.wizardpager.model.ModelCallbacks;
import com.tech.freak.wizardpager.model.Page;
import com.tech.freak.wizardpager.model.ReviewItem;
import java.util.ArrayList;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
/**
* Created by andy on 12/11/2019
* <p>
* This page is for InitPod and RemovePod, but Fragments called for this 2 actions are different
*/
public class InitActionPage extends Page {
protected PodInitActionType podInitActionType;
private boolean actionCompleted = false;
private boolean actionSuccess = false;
protected InitActionPage(ModelCallbacks callbacks, String title) {
super(callbacks, title);
}
public InitActionPage(ModelCallbacks callbacks, @StringRes int titleId, PodInitActionType podInitActionType) {
super(callbacks, titleId);
this.podInitActionType = podInitActionType;
}
@Override
public Fragment createFragment() {
return InitActionFragment.create(getKey(), this.podInitActionType);
}
@Override
public void getReviewItems(ArrayList<ReviewItem> dest) {
}
@Override
public boolean isCompleted() {
return actionCompleted;
}
public void setActionCompleted(boolean success) {
this.actionCompleted = success;
this.actionSuccess = success;
}
/**
* This is used just if we want to override default behavior (for example when we enter Page we want prevent any action, until something happens.
*
* @return
*/
@Override public boolean isBackActionPossible() {
return actionCompleted;
}
/**
* This is used just if we want to override default behavior (for example when we enter Page we want prevent any action, until something happens.
*
* @return
*/
@Override public boolean isNextActionPossible() {
return actionSuccess;
}
}

View file

@ -1,67 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod;
import android.os.AsyncTask;
import android.view.View;
import javax.inject.Inject;
import dagger.android.HasAndroidInjector;
import info.nightscout.androidaps.interfaces.ProfileFunction;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.event.EventOmnipodPumpValuesChanged;
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager;
/**
* Created by andy on 11/12/2019
*/
public class InitPodTask extends AsyncTask<Void, Void, String> {
@Inject ProfileFunction profileFunction;
@Inject AapsOmnipodManager aapsOmnipodManager;
@Inject RxBusWrapper rxBus;
private final InitActionFragment initActionFragment;
public InitPodTask(HasAndroidInjector injector, InitActionFragment initActionFragment) {
injector.androidInjector().inject(this);
this.initActionFragment = initActionFragment;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
initActionFragment.progressBar.setVisibility(View.VISIBLE);
initActionFragment.errorView.setVisibility(View.GONE);
initActionFragment.retryButton.setVisibility(View.GONE);
}
@Override
protected String doInBackground(Void... params) {
if (initActionFragment.podInitActionType == PodInitActionType.PAIR_AND_PRIME_WIZARD_STEP) {
initActionFragment.callResult = aapsOmnipodManager.pairAndPrime(
initActionFragment.podInitActionType,
initActionFragment
);
} else if (initActionFragment.podInitActionType == PodInitActionType.FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP) {
initActionFragment.callResult = aapsOmnipodManager.setInitialBasalScheduleAndInsertCannula(
initActionFragment.podInitActionType,
initActionFragment,
profileFunction.getProfile()
);
} else if (initActionFragment.podInitActionType == PodInitActionType.DEACTIVATE_POD_WIZARD_STEP) {
initActionFragment.callResult = aapsOmnipodManager.deactivatePod(initActionFragment);
}
rxBus.send(new EventOmnipodPumpValuesChanged());
return "OK";
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
initActionFragment.actionOnReceiveResponse(result);
}
}

View file

@ -1,48 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model;
import android.content.Context;
import com.atech.android.library.wizardpager.model.DisplayTextPage;
import com.tech.freak.wizardpager.model.PageList;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod.InitActionPage;
/**
* Created by andy on 12/11/2019
*/
// Full init pod wizard model
// Cannot be merged with ShortInitPodWizardModel, because we can't set any instance variables
// before the onNewRootPageList method is called (which happens in the super constructor)
public class FullInitPodWizardModel extends InitPodWizardModel {
public FullInitPodWizardModel(Context context) {
super(context);
}
@Override
protected PageList onNewRootPageList() {
return new PageList(
new DisplayTextPage(this,
R.string.omnipod_init_pod_wizard_step1_title,
R.string.omnipod_init_pod_wizard_step1_desc,
R.style.WizardPagePodContent).setRequired(true).setCancelReason("None"),
new InitActionPage(this,
R.string.omnipod_init_pod_wizard_step2_title,
PodInitActionType.PAIR_AND_PRIME_WIZARD_STEP
).setRequired(true).setCancelReason("Cancel"),
new DisplayTextPage(this,
R.string.omnipod_init_pod_wizard_step3_title,
R.string.omnipod_init_pod_wizard_step3_desc,
R.style.WizardPagePodContent).setRequired(true).setCancelReason("Cancel"),
new InitActionPage(this,
R.string.omnipod_init_pod_wizard_step4_title,
PodInitActionType.FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP
).setRequired(true).setCancelReason("Cancel")
);
}
}

View file

@ -1,20 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model;
import android.content.Context;
import androidx.fragment.app.Fragment;
import com.tech.freak.wizardpager.model.AbstractWizardModel;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.pages.PodInfoFragment;
abstract class InitPodWizardModel extends AbstractWizardModel {
InitPodWizardModel(Context context) {
super(context);
}
@Override
public Fragment getReviewFragment() {
return PodInfoFragment.create(true);
}
}

View file

@ -1,61 +0,0 @@
/*
* Copyright 2012 Roman Nurik
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model;
import android.content.Context;
import androidx.fragment.app.Fragment;
import com.atech.android.library.wizardpager.model.DisplayTextPage;
import com.tech.freak.wizardpager.model.AbstractWizardModel;
import com.tech.freak.wizardpager.model.PageList;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.pages.PodInfoFragment;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.removepod.RemovePodActionPage;
/**
* Created by andy on 12/11/2019
*/
public class RemovePodWizardModel extends AbstractWizardModel {
public RemovePodWizardModel(Context context) {
super(context);
}
@Override
protected PageList onNewRootPageList() {
return new PageList(
new DisplayTextPage(this,
R.string.omnipod_remove_pod_wizard_step1_title,
R.string.omnipod_remove_pod_wizard_step1_desc,
R.style.WizardPagePodContent).setRequired(true).setCancelReason("None"),
new RemovePodActionPage(this,
R.string.omnipod_remove_pod_wizard_step2_title,
PodInitActionType.DEACTIVATE_POD_WIZARD_STEP
).setRequired(true).setCancelReason("Cancel")
);
}
@Override public Fragment getReviewFragment() {
return PodInfoFragment.create(false);
}
}

View file

@ -1,39 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.model;
import android.content.Context;
import com.atech.android.library.wizardpager.model.DisplayTextPage;
import com.tech.freak.wizardpager.model.PageList;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod.InitActionPage;
/**
* Created by andy on 12/11/2019
*/
// Init pod wizard model without the pair and prime step
// Cannot be merged with FullInitPodWizardModel, because we can't set any instance variables
// before the onNewRootPageList method is called (which happens in the super constructor)
public class ShortInitPodWizardModel extends InitPodWizardModel {
public ShortInitPodWizardModel(Context context) {
super(context);
}
@Override
protected PageList onNewRootPageList() {
return new PageList(
new DisplayTextPage(this,
R.string.omnipod_init_pod_wizard_step3_title,
R.string.omnipod_init_pod_wizard_step3_desc,
R.style.WizardPagePodContent).setRequired(true).setCancelReason("Cancel"),
new InitActionPage(this,
R.string.omnipod_init_pod_wizard_step4_title,
PodInitActionType.FILL_CANNULA_SET_BASAL_PROFILE_WIZARD_STEP
).setRequired(true).setCancelReason("Cancel")
);
}
}

View file

@ -1,164 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.pages;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import androidx.fragment.app.FragmentActivity;
import com.tech.freak.wizardpager.model.ReviewItem;
import com.tech.freak.wizardpager.ui.PageFragmentCallbacks;
import java.util.ArrayList;
import javax.inject.Inject;
import dagger.android.support.DaggerFragment;
import info.nightscout.androidaps.plugins.pump.omnipod.R;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.manager.PodStateManager;
import info.nightscout.androidaps.plugins.pump.omnipod.util.AapsOmnipodUtil;
/**
* Created by andy on 12/11/2019
*/
public class PodInfoFragment extends DaggerFragment {
private static final String ARG_INIT_POD = "initPod";
@Inject AapsOmnipodUtil aapsOmnipodUtil;
@Inject PodStateManager podStateManager;
private boolean isInitPod;
private ArrayList<ReviewItem> mCurrentReviewItems;
public static PodInfoFragment create(boolean initPod) {
Bundle args = new Bundle();
args.putBoolean(ARG_INIT_POD, initPod);
PodInfoFragment fragment = new PodInfoFragment();
fragment.setArguments(args);
return fragment;
}
@SuppressLint("SourceLockedOrientationActivity") @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Bundle args = getArguments();
isInitPod = args.getBoolean(ARG_INIT_POD);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.omnipod_initpod_pod_info, container, false);
TextView titleView = rootView.findViewById(R.id.podInfoTitle);
titleView.setText(R.string.omnipod_init_pod_wizard_pod_info_title);
titleView.setTextColor(getResources().getColor(com.tech.freak.wizardpager.R.color.review_green));
TextView headerText = rootView.findViewById(R.id.podInfoText);
headerText.setText(isInitPod ? //
R.string.omnipod_init_pod_wizard_pod_info_init_pod_description : //
R.string.omnipod_init_pod_wizard_pod_info_remove_pod_description);
if (isInitPod) {
if (createDataOfPod()) {
ListView listView = (ListView) rootView.findViewById(R.id.podInfoList);
listView.setAdapter(new PodInfoAdapter(mCurrentReviewItems, getContext()));
listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
}
}
return rootView;
}
private boolean createDataOfPod() {
if (podStateManager == null)
return false;
mCurrentReviewItems = new ArrayList<>();
mCurrentReviewItems.add(new ReviewItem("Pod Address", "" + podStateManager.getAddress(), "33"));
mCurrentReviewItems.add(new ReviewItem("Activated At", podStateManager.getActivatedAt() == null ? "Not activated yet" : podStateManager.getActivatedAt().toString("dd.MM.yyyy HH:mm:ss"), "34"));
if (podStateManager.getLot() != null) {
mCurrentReviewItems.add(new ReviewItem("LOT", "" + podStateManager.getLot(), "35"));
}
if (podStateManager.getTid() != null) {
mCurrentReviewItems.add(new ReviewItem("TID", "" + podStateManager.getLot(), "36"));
}
if (podStateManager.getPiVersion() != null) {
mCurrentReviewItems.add(new ReviewItem("Pi Version", podStateManager.getPiVersion().toString(), "37"));
}
if (podStateManager.getPmVersion() != null) {
mCurrentReviewItems.add(new ReviewItem("Pm Version", podStateManager.getPmVersion().toString(), "38"));
}
return true;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
FragmentActivity activity = getActivity();
if (!(activity instanceof PageFragmentCallbacks)) {
throw new ClassCastException("Activity must implement PageFragmentCallbacks");
}
}
@Override
public void onDetach() {
super.onDetach();
}
private static class PodInfoAdapter extends ArrayAdapter<ReviewItem> {
PodInfoAdapter(ArrayList<ReviewItem> data, Context context) {
super(context, com.tech.freak.wizardpager.R.layout.list_item_review, data);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position
ReviewItem dataModel = getItem(position);
// Check if an existing view is being reused, otherwise inflate the view
ViewHolder viewHolder; // view lookup cache stored in tag
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.omnipod_initpod_pod_info_item, parent, false);
viewHolder.txtName = (TextView) convertView.findViewById(android.R.id.text1);
viewHolder.txtType = (TextView) convertView.findViewById(android.R.id.text2);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.txtName.setText(dataModel.getTitle());
viewHolder.txtType.setText(dataModel.getDisplayValue());
// Return the completed view to render on screen
return convertView;
}
}
private static class ViewHolder {
TextView txtName;
TextView txtType;
}
}

View file

@ -1,60 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.removepod;
import android.os.Bundle;
import android.view.View;
import com.tech.freak.wizardpager.model.Page;
import java.util.UUID;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitReceiver;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod.InitActionFragment;
/**
* Created by andy on 29/11/2019
*/
public class RemoveActionFragment extends InitActionFragment implements PodInitReceiver {
public static RemoveActionFragment create(String key, PodInitActionType podInitActionType) {
Bundle args = new Bundle();
args.putString(ARG_KEY, key);
args.putSerializable(ARG_POD_INIT_ACTION_TYPE, podInitActionType);
RemoveActionFragment fragment = new RemoveActionFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void actionOnReceiveResponse(String result) {
System.out.println("ACTION: actionOnReceiveResponse: " + result);
boolean isOk = callResult.success;
progressBar.setVisibility(View.GONE);
if (!isOk) {
errorView.setVisibility(View.VISIBLE);
errorView.setText(callResult.comment);
retryButton.setVisibility(View.VISIBLE);
}
mPage.setActionCompleted(isOk);
mPage.getData().putString(Page.SIMPLE_DATA_KEY, UUID.randomUUID().toString());
mPage.notifyDataChanged();
}
@Override
public void returnInitTaskStatus(PodInitActionType podInitActionType, boolean isSuccess, String errorMessage) {
if (podInitActionType.isParent()) {
for (PodInitActionType actionType : mapCheckBoxes.keySet()) {
setCheckBox(actionType, isSuccess);
}
} else {
setCheckBox(podInitActionType, isSuccess);
}
}
}

View file

@ -1,30 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.removepod;
import androidx.annotation.StringRes;
import androidx.fragment.app.Fragment;
import com.tech.freak.wizardpager.model.ModelCallbacks;
import info.nightscout.androidaps.plugins.pump.omnipod.definition.PodInitActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.initpod.InitActionPage;
/**
* Created by andy on 12/11/2019
*/
public class RemovePodActionPage extends InitActionPage {
public RemovePodActionPage(ModelCallbacks callbacks, String title) {
super(callbacks, title);
}
public RemovePodActionPage(ModelCallbacks callbacks, @StringRes int titleId, PodInitActionType podInitActionType) {
super(callbacks, titleId, podInitActionType);
}
@Override
public Fragment createFragment() {
return RemoveActionFragment.create(getKey(), this.podInitActionType);
}
}

View file

@ -0,0 +1,30 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import info.nightscout.androidaps.data.PumpEnactResult
import io.reactivex.schedulers.Schedulers
import io.reactivex.subjects.SingleSubject
abstract class ActionViewModelBase : ViewModel() {
private val _isActionExecutingLiveData = MutableLiveData<Boolean>(false)
val isActionExecutingLiveData: LiveData<Boolean> = _isActionExecutingLiveData
private val _actionResultLiveData = MutableLiveData<PumpEnactResult?>(null)
val actionResultLiveData: LiveData<PumpEnactResult?> = _actionResultLiveData
fun executeAction() {
_isActionExecutingLiveData.postValue(true)
val disposable = SingleSubject.fromCallable<PumpEnactResult>(this::doExecuteAction)
.subscribeOn(Schedulers.io())
.doOnSuccess { result ->
_isActionExecutingLiveData.postValue(false)
_actionResultLiveData.postValue(result)
}
.subscribe()
}
protected abstract fun doExecuteAction(): PumpEnactResult
}

View file

@ -0,0 +1,21 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel
import info.nightscout.androidaps.data.PumpEnactResult
import info.nightscout.androidaps.interfaces.CommandQueueProvider
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager
import info.nightscout.androidaps.plugins.pump.omnipod.queue.command.CommandDeactivatePod
import info.nightscout.androidaps.queue.Callback
import io.reactivex.subjects.SingleSubject
import javax.inject.Inject
class DeactivatePodActionViewModel @Inject constructor(private val aapsOmnipodManager: AapsOmnipodManager, private val commandQueueProvider: CommandQueueProvider) : ActionViewModelBase() {
override fun doExecuteAction(): PumpEnactResult {
val singleSubject = SingleSubject.create<PumpEnactResult>()
commandQueueProvider.customCommand(CommandDeactivatePod(), object : Callback() {
override fun run() {
singleSubject.onSuccess(result)
}
})
return singleSubject.blockingGet()
}
}

View file

@ -0,0 +1,10 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel
import info.nightscout.androidaps.data.PumpEnactResult
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager
import javax.inject.Inject
class InsertCannulaActionViewModel @Inject constructor(private val aapsOmnipodManager: AapsOmnipodManager, private val profileFunction: ProfileFunction) : ActionViewModelBase() {
override fun doExecuteAction(): PumpEnactResult = aapsOmnipodManager.insertCannula(profileFunction.getProfile())
}

View file

@ -0,0 +1,9 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.viewmodel
import info.nightscout.androidaps.data.PumpEnactResult
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsOmnipodManager
import javax.inject.Inject
class PairAndPrimePodActionViewModel @Inject constructor(private val aapsOmnipodManager: AapsOmnipodManager) : ActionViewModelBase() {
override fun doExecuteAction(): PumpEnactResult = aapsOmnipodManager.activateNewPod()
}

View file

@ -1,44 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import dagger.android.support.DaggerFragment
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.dagger.OmnipodPluginQualifier
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.viewmodel.WizardViewModel1
import javax.inject.Inject
class WizardFragment1 : DaggerFragment() {
@Inject
@OmnipodPluginQualifier
lateinit var viewModelFactory: ViewModelProvider.Factory
lateinit var viewModel: WizardViewModel1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val vm: WizardViewModel1 by viewModels<WizardViewModel1> { viewModelFactory }
this.viewModel = vm
vm.doSomethingForTesting()
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? = inflater.inflate(R.layout.omnipod_replace_pod_wizard_info_page_fragment, container, false)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//view.findViewById<Button>(R.id.test_button)?.setOnClickListener {
// viewModel.onButtonPressedForTesting()
//}
}
}

View file

@ -1,21 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action
import android.os.Bundle
import android.view.View
import android.widget.TextView
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.FragmentBase
abstract class ActionFragmentBase : FragmentBase() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
view.findViewById<TextView>(R.id.omnipod_wizard_action_page_text)?.text = getText()
}
abstract fun getText(): String
override fun getLayoutId(): Int {
return R.layout.omnipod_replace_pod_wizard_action_page_fragment
}
}

View file

@ -1,13 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action
import info.nightscout.androidaps.plugins.pump.omnipod.R
class DeactivatePodActionFragment : ActionFragmentBase() {
override fun getText(): String = "[deactivate Pod]"
override fun getNextPageActionId(): Int = R.id.action_deactivatePodActionFragment_to_podDeactivatedInfoFragment
override fun getTitle(): String = "Deactivate Pod"
override fun getIndex(): Int = 2
}

View file

@ -1,13 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action
import info.nightscout.androidaps.plugins.pump.omnipod.R
class InsertCannulaActionFragment : ActionFragmentBase() {
override fun getText(): String = "[insert cannula]"
override fun getNextPageActionId(): Int = R.id.action_insertCannulaActionFragment_to_podReplacedInfoFragment
override fun getTitle(): String = "Insert cannula"
override fun getIndex(): Int = 7
}

View file

@ -1,13 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action
import info.nightscout.androidaps.plugins.pump.omnipod.R
class PairAndPrimePodActionFragment : ActionFragmentBase() {
override fun getText(): String = "[pair and prime Pod]"
override fun getNextPageActionId(): Int = R.id.action_pairAndPrimePodActionFragment_to_attachPodInfoFragment
override fun getTitle(): String = "Pair and prime Pod"
override fun getIndex(): Int = 5
}

View file

@ -1,23 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info;
import android.os.Bundle
import android.view.View
import info.nightscout.androidaps.plugins.pump.omnipod.R
import info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.FragmentBase
import kotlinx.android.synthetic.main.omnipod_replace_pod_wizard_info_page_fragment.*
abstract class InfoFragmentBase : FragmentBase() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
omnipod_wizard_info_page_text.text = getText()
}
abstract fun getText(): String
override fun getLayoutId(): Int {
return R.layout.omnipod_replace_pod_wizard_info_page_fragment
}
}

View file

@ -1,11 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info
class PodReplacedInfoFragment : InfoFragmentBase() {
override fun getText(): String = "the Pod has been replaced"
override fun getNextPageActionId(): Int? = null
override fun getTitle(): String = "Pod replaced"
override fun getIndex(): Int = 8
}

View file

@ -1,20 +0,0 @@
package info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.viewmodel
import androidx.lifecycle.ViewModel
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.plugins.pump.omnipod.manager.AapsPodStateManager
import javax.inject.Inject
class WizardViewModel1 @Inject constructor(
private val aapsLogger: AAPSLogger,
private val podStateManager: AapsPodStateManager
) : ViewModel() {
fun doSomethingForTesting(){
aapsLogger.debug("This is a test that dagger initializes the viewModel.")
}
fun onButtonPressedForTesting(){
aapsLogger.debug("This is a test that dagger initializes the viewModel.")
}
}

View file

@ -1,12 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M16.495,12.092l-4.921,-4.92l-1.444,1.444l2.468,2.467l-9.765,0l0,2.042l9.765,0l-2.468,2.467l1.444,1.444l4.921,-4.92l-0.012,-0.012z"
android:fillColor="@color/white" />
<path
android:pathData="M18.682,2.975H5.152c-1.272,0 -2.307,1.035 -2.307,2.307v3.801h2.126V5.282c0,-0.1 0.081,-0.181 0.181,-0.181h13.53c0.1,0 0.181,0.081 0.181,0.181v13.436c0,0.1 -0.081,0.181 -0.181,0.181H5.152c-0.1,0 -0.181,-0.081 -0.181,-0.181v-3.593H2.845v3.593c0,1.272 1.035,2.307 2.307,2.307h13.53c1.272,0 2.308,-1.034 2.308,-2.307V5.282C20.989,4.01 19.954,2.975 18.682,2.975z"
android:fillColor="@color/white" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:tint="@color/toastOk"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000"
android:pathData="M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:tint="@color/toastInfo"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000"
android:pathData="M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8.46,11.88L9.87,10.47L12,12.59L14.12,10.47L15.53,11.88L13.41,14L15.53,16.12L14.12,17.53L12,15.41L9.88,17.53L8.47,16.12L10.59,14L8.46,11.88M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z" />
</vector>

View file

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/omnipod_change_pod_wizard_action_page_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:textAppearance="@style/ChangePodWizardText" />
<ProgressBar
android:id="@+id/omnipod_change_pod_wizard_action_progress_indication"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_marginTop="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:layout_marginBottom="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:indeterminate="true"
android:visibility="gone" />
<ImageView
android:id="@+id/omnipod_change_pod_wizard_action_success"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:layout_marginBottom="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:src="@drawable/ic_toast_check"
android:visibility="gone" />
<TextView
android:id="@+id/omnipod_change_pod_wizard_action_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:layout_marginBottom="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:paddingStart="50dp"
android:paddingEnd="50dp"
android:textAppearance="@style/ChangePodWizardError"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:orientation="horizontal"
android:paddingEnd="50dp">
<Button
android:id="@+id/omnipod_change_pod_wizard_button_deactivate_pod"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/omnipod_change_pod_wizard_button_deactivate_pod"
android:visibility="gone" />
<Button
android:id="@+id/omnipod_change_pod_wizard_button_discard_pod"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/omnipod_change_pod_wizard_button_discard_pod"
android:visibility="gone" />
<Button
android:id="@+id/omnipod_change_pod_wizard_button_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/omnipod_change_pod_wizard_button_retry"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">
@ -9,6 +8,5 @@
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:navGraph="@navigation/omnipod_replace_pod_wizard_navigation_graph" />
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -5,26 +5,26 @@
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/omnipod_replace_pod_wizard_progress_indication" />
<include layout="@layout/omnipod_change_pod_wizard_progress_indication" />
<TextView
android:id="@+id/omnipod_wizard_base_fragment_title"
android:id="@+id/omnipod_change_pod_wizard_base_fragment_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/WizardPageTitle" />
android:layout_marginBottom="10dp"
android:textAppearance="@style/ChangePodWizardTitle" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingTop="20dp"
android:paddingBottom="20dp">
android:layout_marginBottom="@dimen/omnipod_change_pod_wizard_vertical_spacing"
android:layout_weight="1">
<ViewStub
android:id="@+id/omnipod_wizard_base_fragment_content"
android:id="@+id/omnipod_change_pod_wizard_base_fragment_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>
<include layout="@layout/omnipod_replace_pod_wizard_nav_buttons" />
<include layout="@layout/omnipod_change_pod_wizard_nav_buttons" />
</LinearLayout>

View file

@ -5,7 +5,8 @@
android:orientation="vertical">
<TextView
android:id="@+id/omnipod_wizard_action_page_text"
android:id="@+id/omnipod_change_pod_wizard_info_page_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:textAppearance="@style/ChangePodWizardText" />
</LinearLayout>

View file

@ -5,16 +5,16 @@
android:orientation="horizontal">
<Button
android:id="@+id/omnipod_replace_pod_wizard_button_cancel"
android:id="@+id/omnipod_change_pod_wizard_button_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/omnipod_wizard_button_cancel" />
android:text="@string/omnipod_change_pod_wizard_button_cancel" />
<Button
android:id="@+id/omnipod_replace_pod_wizard_button_next"
android:id="@+id/omnipod_change_pod_wizard_button_next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/omnipod_wizard_button_next" />
android:text="@string/omnipod_change_pod_wizard_button_next" />
</LinearLayout>

View file

@ -5,12 +5,12 @@
android:orientation="horizontal">
<ProgressBar
android:id="@+id/omnipod_replace_pod_wizard_progress_indication"
android:id="@+id/omnipod_change_pod_wizard_progress_indication"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:indeterminate="false"
android:progress="0"
android:progressTint="@color/replacePodWizardProgressBar"
android:progressTint="@color/changePodWizardProgressBar"
android:scaleY=".5" />
</LinearLayout>

View file

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:background="@android:color/transparent"
app:srcCompat="@drawable/ic_exit_to_app" />
<TextView
android:id="@+id/sw_exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:text="@string/omnipod_wizard_button_exit"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
android:textStyle="bold" />
</LinearLayout>
<ScrollView
android:id="@+id/sw_scrollview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/sw_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:keepScreenOn="true"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="32sp"
tools:text="Title" />
<LinearLayout
android:id="@+id/sw_content_fields"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical"
android:padding="16dp" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/sw_content_controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:background="@color/black_overlay"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<Button
android:id="@+id/previous_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/omnipod_wizard_button_previous"
android:textColor="#FFFFFF" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
<Button
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/omnipod_wizard_button_next"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/finish_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/omnipod_wizard_button_finish"
android:textColor="#FFFFFF" />
</LinearLayout>
</LinearLayout>

View file

@ -1,85 +0,0 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/WizardPageContainer"
android:orientation="vertical">
<TextView style="@style/WizardPageTitle" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/initAction_header"
style="@style/WizardPagePodContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="20dp"
android:layout_marginRight="25dp"
android:layout_marginBottom="20dp"
android:text="@string/omnipod_init_pod_wizard_step2_action_header"
android:textSize="15sp" />
<LinearLayout
android:id="@+id/initAction_ItemsHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginRight="70dp"
android:orientation="vertical"></LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="horizontal"
android:weightSum="1">
<TextView
android:id="@+id/initAction_textErrorMessage"
style="@style/WizardPagePodContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="15dp"
android:layout_marginEnd="5dp"
android:layout_weight="0.3"
android:textSize="15sp"
android:visibility="gone" />
<Button
android:id="@+id/initAction_RetryButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="5dp"
android:layout_weight="0.7"
android:drawableTop="@drawable/ic_actions_refill"
android:visibility="gone" />
</LinearLayout>
<ProgressBar
android:id="@+id/initAction_progressBar"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp" />
<TextView
android:id="@+id/initAction_footer"
android:layout_width="match_parent"
android:layout_height="30dp"
android:textSize="15sp" />
</LinearLayout>

View file

@ -1,56 +0,0 @@
<!--
Copyright 2012 Roman Nurik
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/WizardPageContainer"
android:orientation="vertical">
<TextView
android:id="@+id/podInfoTitle"
style="@style/WizardPageTitle" />
<TextView
android:id="@+id/podInfoText"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="40dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
style="@style/WizardPagePodContent" />
<LinearLayout
style="@style/ButtonBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ListView
android:id="@+id/podInfoList"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:saveEnabled="false"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
style="@style/PodInfoListView"
android:listSelector="@color/ribbonWarning"
android:scrollbarStyle="outsideInset" />
</LinearLayout>
</LinearLayout>

View file

@ -1,47 +0,0 @@
<!--
Copyright 2012 Roman Nurik
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/list_item_height_small"
android:orientation="horizontal"
android:baselineAligned="true"
android:paddingStart="@dimen/list_item_padding_left"
android:paddingEnd="@dimen/list_item_padding_right"
android:paddingTop="12dp"
android:paddingBottom="12dp">
<TextView
android:id="@android:id/text1"
style="?android:textAppearanceSmall"
android:textColor="@color/text_light"
android:textAllCaps="false"
android:textStyle="bold"
android:ellipsize="end"
android:layout_width="100sp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp" />
<TextView
android:id="@android:id/text2"
style="?android:textAppearanceMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@color/design_default_color_primary_dark"
android:layout_weight="1" />
</LinearLayout>

View file

@ -2,8 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="info.nightscout.androidaps.plugins.pump.omnipod.ui.OmnipodFragment">
tools:context="info.nightscout.androidaps.plugins.pump.omnipod.ui.OmnipodOverviewFragment">
<RelativeLayout
android:layout_width="match_parent"
@ -12,17 +11,15 @@
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/omnipod_buttons"
android:layout_above="@+id/omnipod_overview_buttons"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/overview_pumpstatuslayout_omnipod"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@ -31,7 +28,6 @@
android:visibility="gone">
<TextView
android:id="@+id/overview_pump_omnipod"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
@ -76,7 +72,7 @@
android:textSize="14sp" />
<com.joanzapata.iconify.widget.IconTextView
android:id="@+id/omnipod_rl_status"
android:id="@+id/omnipod_overview_riley_link_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -111,7 +107,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_address"
android:text="@string/omnipod_overview_pod_address"
android:textSize="14sp" />
<TextView
@ -125,7 +121,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_pod_address"
android:id="@+id/omnipod_overview_pod_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -147,7 +143,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_lot"
android:text="@string/omnipod_lot"
android:textSize="14sp" />
<TextView
@ -161,7 +157,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_pod_lot"
android:id="@+id/omnipod_overview_pod_lot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -183,7 +179,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_tid"
android:text="@string/omnipod_tid"
android:textSize="14sp" />
<TextView
@ -197,7 +193,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_pod_tid"
android:id="@+id/omnipod_overview_pod_tid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -219,7 +215,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_firmware_version"
android:text="@string/omnipod_overview_firmware_version"
android:textSize="14sp" />
<TextView
@ -233,7 +229,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_pod_firmware_version"
android:id="@+id/omnipod_overview_firmware_version"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -255,7 +251,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_time_on_pod"
android:text="@string/omnipod_overview_time_on_pod"
android:textSize="14sp" />
<TextView
@ -269,7 +265,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_time_on_pod"
android:id="@+id/omnipod_overview_time_on_pod"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -292,7 +288,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_expiry"
android:text="@string/omnipod_overview_pod_expiry_date"
android:textSize="14sp" />
<TextView
@ -306,7 +302,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_pod_expiry"
android:id="@+id/omnipod_overview_pod_expiry_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -329,7 +325,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_status"
android:text="@string/omnipod_overview_pod_status"
android:textSize="14sp" />
<TextView
@ -343,7 +339,7 @@
android:textSize="14sp" />
<com.joanzapata.iconify.widget.IconTextView
android:id="@+id/omnipod_pod_status"
android:id="@+id/omnipod_overview_pod_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -357,7 +353,7 @@
</LinearLayout>
<TextView
android:id="@+id/omnipod_queue"
android:id="@+id/omnipod_overview_queue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
@ -383,7 +379,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/lastconnection_label"
android:text="@string/omnipod_overview_last_connection"
android:textSize="14sp" />
<TextView
@ -397,7 +393,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_last_connection"
android:id="@+id/omnipod_overview_last_connection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -428,7 +424,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/lastbolus_label"
android:text="@string/omnipod_overview_last_bolus"
android:textSize="14sp" />
<TextView
@ -442,7 +438,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_last_bolus"
android:id="@+id/omnipod_overview_last_bolus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -474,7 +470,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/basebasalrate_label"
android:text="@string/omnipod_overview_base_basal_rate"
android:textSize="14sp" />
<TextView
@ -488,7 +484,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_base_basal_rate"
android:id="@+id/omnipod_overview_base_basal_rate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -519,7 +515,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/tempbasal_label"
android:text="@string/omnipod_overview_temp_basal_rate"
android:textSize="14sp" />
<TextView
@ -533,7 +529,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_temp_basal"
android:id="@+id/omnipod_overview_temp_basal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -564,7 +560,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/reservoir_label"
android:text="@string/omnipod_overview_reservoir"
android:textSize="14sp" />
<TextView
@ -578,7 +574,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_reservoir"
android:id="@+id/omnipod_overview_reservoir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -609,7 +605,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_total_delivered_label"
android:text="@string/omnipod_overview_total_delivered"
android:textSize="14sp" />
<TextView
@ -623,7 +619,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_total_delivered"
android:id="@+id/omnipod_overview_total_delivered"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -654,7 +650,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_errors"
android:text="@string/omnipod_overview_errors"
android:textSize="14sp" />
<TextView
@ -668,7 +664,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_errors"
android:id="@+id/omnipod_overview_errors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -699,7 +695,7 @@
android:layout_weight="1.5"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/omnipod_pod_active_alerts"
android:text="@string/omnipod_overview_pod_active_alerts"
android:textSize="14sp" />
<TextView
@ -713,7 +709,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/omnipod_pod_active_alerts"
android:id="@+id/omnipod_overview_pod_active_alerts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -739,7 +735,7 @@
</ScrollView>
<LinearLayout
android:id="@+id/omnipod_buttons"
android:id="@+id/omnipod_overview_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
@ -751,7 +747,7 @@
android:orientation="horizontal">
<Button
android:id="@+id/omnipod_button_replace_pod"
android:id="@+id/omnipod_overview_button_refresh_status"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -759,21 +755,10 @@
android:drawableTop="@drawable/ic_actions_refill"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_replace_pod" />
android:text="@string/omnipod_overview_button_refresh" />
<Button
android:id="@+id/omnipod_button_refresh_status"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:drawableTop="@drawable/ic_actions_refill"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_refresh" />
<Button
android:id="@+id/omnipod_button_pod_mgmt"
android:id="@+id/omnipod_overview_button_pod_management"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -781,10 +766,10 @@
android:drawableTop="@drawable/ic_danarhistory"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_pod_management" />
android:text="@string/omnipod_overview_button_pod_management" />
<Button
android:id="@+id/omnipod_button_acknowledge_active_alerts"
android:id="@+id/omnipod_overview_button_acknowledge_active_alerts"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -792,10 +777,10 @@
android:drawableTop="@drawable/ic_cp_aaps_offline"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_acknowledge_active_alerts" />
android:text="@string/omnipod_overview_button_acknowledge_active_alerts" />
<Button
android:id="@+id/omnipod_button_rileylink_stats"
android:id="@+id/omnipod_overview_button_rileylink_stats"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -803,10 +788,10 @@
android:drawableTop="@drawable/ic_danarstats"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_riley_link_stats" />
android:text="@string/omnipod_overview_button_riley_link_stats" />
<Button
android:id="@+id/omnipod_button_pulse_log"
android:id="@+id/omnipod_overview_button_pulse_log"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -814,11 +799,11 @@
android:drawableTop="@drawable/ic_cp_bolus_correction"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_read_pulse_log"
android:text="@string/omnipod_overview_button_read_pulse_log"
android:visibility="gone" />
<Button
android:id="@+id/omnipod_button_set_time"
android:id="@+id/omnipod_overview_button_set_time"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -826,11 +811,11 @@
android:drawableTop="@drawable/ic_access_alarm"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_set_time"
android:text="@string/omnipod_overview_button_set_time"
android:visibility="gone" />
<Button
android:id="@+id/omnipod_button_resume_delivery"
android:id="@+id/omnipod_overview_button_resume_delivery"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -838,11 +823,11 @@
android:drawableTop="@drawable/ic_local_activate"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_resume_delivery"
android:text="@string/omnipod_overview_button_resume_delivery"
android:visibility="gone" />
<Button
android:id="@+id/omnipod_button_suspend_delivery"
android:id="@+id/omnipod_overview_button_suspend_delivery"
style="@style/ButtonSmallFontStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -850,7 +835,7 @@
android:drawableTop="@drawable/ic_loop_disabled"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/omnipod_button_suspend_delivery"
android:text="@string/omnipod_overview_button_suspend_delivery"
android:visibility="gone" />
</LinearLayout>

View file

@ -9,7 +9,6 @@
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/initpod_buttons_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@ -29,21 +28,19 @@
android:textStyle="bold" />
<LinearLayout
android:id="@+id/initpod_waiting_for_rl_layout"
android:id="@+id/omnipod_pod_management_waiting_for_rl_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<ProgressBar
android:id="@+id/initpod_waiting_for_rl_progress_bar"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp" />
<TextView
android:id="@+id/initpod_waiting_for_rl_text"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginLeft="10dp"
@ -52,13 +49,13 @@
android:layout_marginBottom="3dp"
android:layout_weight="0.5"
android:gravity="center"
android:text="@string/omnipod_waiting_for_rileylink_connection"
android:text="@string/omnipod_pod_management_waiting_for_rileylink_connection"
android:textAlignment="center"
android:textSize="8pt" />
</LinearLayout>
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/initpod_init_pod"
android:id="@+id/omnipod_pod_management_button_change_pod"
style="?android:attr/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -68,7 +65,7 @@
android:layout_marginBottom="3dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_cp_pump_canula"
android:text="@string/omnipod_button_init_pod"
android:text="@string/omnipod_pod_management_button_change_pod"
android:textAllCaps="false" />
<TextView
@ -78,7 +75,7 @@
android:text="" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/initpod_replace_pod"
android:id="@+id/omnipod_pod_management_button_discard_pod"
style="?android:attr/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -87,8 +84,8 @@
android:layout_marginRight="40dp"
android:layout_marginBottom="3dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_cp_pump_canula"
android:text="@string/omnipod_button_replace_pod"
android:drawableTop="@drawable/ic_toast_delete_confirm"
android:text="@string/omnipod_pod_management_button_discard_pod"
android:textAllCaps="false" />
<TextView
@ -98,47 +95,7 @@
android:text="" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/initpod_remove_pod"
style="?android:attr/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginTop="3dp"
android:layout_marginRight="40dp"
android:layout_marginBottom="3dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_actions_temptarget"
android:text="@string/omnipod_button_deactivate_pod"
android:textAllCaps="false" />
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_weight="0.5"
android:text="" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/initpod_reset_pod"
style="?android:attr/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginTop="3dp"
android:layout_marginRight="40dp"
android:layout_marginBottom="3dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_cp_pump_canula"
android:text="@string/omnipod_button_discard_pod"
android:textAllCaps="false" />
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_weight="0.5"
android:text="" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/initpod_pod_history"
android:id="@+id/omnipod_pod_management_button_pod_history"
style="?android:attr/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -148,7 +105,7 @@
android:layout_marginBottom="3dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_danarhistory"
android:text="@string/omnipod_button_pod_history"
android:text="@string/omnipod_pod_management_button_pod_history"
android:textAllCaps="false" />
</LinearLayout>

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/omnipod_wizard_info_page_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

View file

@ -1,44 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/omnipod_replace_pod_navigation_graph"
app:startDestination="@id/deactivatePodInfoFragment">
<fragment
android:id="@+id/deactivatePodInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.DeactivatePodInfoFragment"
android:label="DeactivatePodInfoFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.DeactivatePodInfoFragment"
android:label="DeactivatePodInfoFragment">
<action
android:id="@+id/action_deactivatePodInfoFragment_to_deactivatePodActionFragment"
app:destination="@id/deactivatePodActionFragment" />
</fragment>
<fragment
android:id="@+id/deactivatePodActionFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action.DeactivatePodActionFragment"
android:label="DeactivatePodActionFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action.DeactivatePodActionFragment"
android:label="DeactivatePodActionFragment">
<action
android:id="@+id/action_deactivatePodActionFragment_to_podDeactivatedInfoFragment"
app:destination="@id/podDeactivatedInfoFragment" />
<action
android:id="@+id/action_deactivatePodActionFragment_to_podDiscardedInfoFragment"
app:destination="@id/podDiscardedInfoFragment" />
</fragment>
<fragment
android:id="@+id/podDeactivatedInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.PodDeactivatedInfoFragment"
android:label="PodDeactivatedInfoFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.PodDeactivatedInfoFragment"
android:label="PodDeactivatedInfoFragment">
<action
android:id="@+id/action_podDeactivatedInfoFragment_to_fillPodInfoFragment"
app:destination="@id/fillPodInfoFragment" />
</fragment>
<fragment
android:id="@+id/fillPodInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.FillPodInfoFragment"
android:label="FillPodInfoFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.FillPodInfoFragment"
android:label="FillPodInfoFragment">
<action
android:id="@+id/action_fillPodInfoFragment_to_pairAndPrimePodActionFragment"
app:destination="@id/pairAndPrimePodActionFragment" />
</fragment>
<fragment
android:id="@+id/pairAndPrimePodActionFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action.PairAndPrimePodActionFragment"
android:label="PairAndPrimePodActionFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action.PairAndPrimePodActionFragment"
android:label="PairAndPrimePodActionFragment">
<action
android:id="@+id/action_pairAndPrimePodActionFragment_to_attachPodInfoFragment"
app:destination="@id/attachPodInfoFragment" />
@ -48,25 +50,33 @@
</fragment>
<fragment
android:id="@+id/attachPodInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.AttachPodInfoFragment"
android:label="AttachPodInfoFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.AttachPodInfoFragment"
android:label="AttachPodInfoFragment">
<action
android:id="@+id/action_attachPodInfoFragment_to_insertCannulaActionFragment"
app:destination="@id/insertCannulaActionFragment" />
</fragment>
<fragment
android:id="@+id/insertCannulaActionFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.action.InsertCannulaActionFragment"
android:label="InsertCannulaActionFragment" >
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.action.InsertCannulaActionFragment"
android:label="InsertCannulaActionFragment">
<action
android:id="@+id/action_insertCannulaActionFragment_to_podReplacedInfoFragment"
app:destination="@id/podReplacedInfoFragment" />
android:id="@+id/action_insertCannulaActionFragment_to_PodChangedInfoFragment"
app:destination="@id/PodChangedInfoFragment" />
<action
android:id="@+id/action_insertCannulaActionFragment_to_deactivatePodInfoFragment"
app:destination="@id/deactivatePodInfoFragment" />
</fragment>
<fragment
android:id="@+id/podReplacedInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard2.fragment.info.PodReplacedInfoFragment"
android:label="PodReplacedInfoFragment" />
android:id="@+id/PodChangedInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.PodChangedInfoFragment"
android:label="PodChangedInfoFragment" />
<fragment
android:id="@+id/podDiscardedInfoFragment"
android:name="info.nightscout.androidaps.plugins.pump.omnipod.ui.wizard.fragment.info.PodDiscardedInfoFragment"
android:label="PodDiscardedInfoFragment">
<action
android:id="@+id/action_podDiscardedInfoFragment_to_fillPodInfoFragment"
app:destination="@id/fillPodInfoFragment" />
</fragment>
</navigation>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Интеграция на помпата Omnipod, изисква RileyLink устройство (с фърмуер минимум 2.0 ) .</string>
<string name="omnipod_pump_description">Интеграция на помпата Omnipod, изисква RileyLink устройство (с фърмуер минимум 2.0 ) .</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Звук при болус активен</string>
<string name="omnipod_config_basal_beeps_enabled">Звук при базал активен</string>
@ -17,17 +17,16 @@
<string name="omnipod_config_low_reservoir_alert_units">Брой единици</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">Преди малко</string>
<string name="omnipod_pod_mgmt">Настройки на под</string>
<string name="omnipod_pod_status">Статус на под</string>
<string name="omnipod_total_delivered_label">Общо доставени</string>
<string name="omnipod_total_delivered">%1$.2fЕ</string>
<string name="omnipod_reservoir_left">%1$.2f Е остават</string>
<string name="omnipod_reservoir_over50">Над 50 Е</string>
<string name="omnipod_pod_address">Адрес на под</string>
<string name="omnipod_pod_expiry">Капсулата изтича</string>
<string name="omnipod_overview_pod_status">Статус на под</string>
<string name="omnipod_overview_total_delivered">Общо доставени</string>
<string name="omnipod_overview_total_delivered_value">%1$.2fЕ</string>
<string name="omnipod_overview_reservoir_value">%1$.2f Е остават</string>
<string name="omnipod_overview_reservoir_value_over50">Над 50 Е</string>
<string name="omnipod_overview_pod_address">Адрес на под</string>
<string name="omnipod_overview_pod_expiry_date">Капсулата изтича</string>
<string name="omnipod_warning">Внимание</string>
<string name="omnipod_pod_status_no_active_pod">Няма активен под</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Настройка в прогрес (изчакване на сдвояване и пълнене)</string>
<string name="omnipod_pod_status_waiting_for_activation">Настройка в прогрес (изчакване на сдвояване и пълнене)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Настройка в прогрес (въвеждане на канюла)</string>
<string name="omnipod_pod_status_running">Изпълнява</string>
<string name="omnipod_pod_status_suspended">Прекратено</string>
@ -35,39 +34,16 @@
<string name="omnipod_pod_status_activation_time_exceeded">Времето за активация изтече</string>
<string name="omnipod_pod_status_inactive">Неактивен</string>
<string name="omnipod_pod_status_pod_fault_description">Грешка на под: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Сигнали за активен под</string>
<string name="omnipod_acknowledge_active_alerts_short">Потвърди аларми</string>
<string name="omnipod_overview_pod_active_alerts">Сигнали за активен под</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Грешен RileyLink адрес.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Забранено действие.\n\n Първо трябва да конфигурурате Omnipod , преди да използвате тази операция,.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Операцията не е възможна.\n\n Трябва да изчакате няколко минути, докато AAPS се опита да зададе профил за първи път.</string>
<string name="omnipod_error_illegal_init_action_type">Неправилен PodInitActionType: %1$s</string>
<string name="omnipod_error_pod_not_attached">Няма активен под</string>
<string name="omnipod_driver_error_setup_action_verification_failed">Грешка при проверка на командата</string>
<string name="omnipod_driver_error_unexpected_exception_type">Непредвидена грешка. Моля, докладвайте! (тип: %1$s).</string>
<string name="omnipod_driver_error_invalid_parameters">Неуспешна комуникация: получени грешни входни параметри</string>
<string name="omnipod_driver_error_communication_failed_timeout">Връзката е неуспешна: таймаут</string>
<string name="omnipod_driver_error_communication_failed_unexpected_exception">Комуникацията е неуспешна: възникнала е неочаквана грешка. Моля, докладвайте!</string>
<string name="omnipod_driver_error_crc_mismatch">Неуспешна комуникация: проверката на целостта на съобщението е неуспешна</string>
<string name="omnipod_driver_error_invalid_packet_type">Неуспешна комуникация: получени грешни входни параметри</string>
<string name="omnipod_driver_error_invalid_progress_state">Съобщението е неуспешно: Pod е в лошо състояние</string>
<string name="omnipod_driver_error_invalid_response">Неуспешна комуникация: получени грешни входни параметри</string>
<string name="omnipod_driver_error_invalid_message_sequence_number">Неуспешна комуникация: получи съобщение с невалиден номер на последователност от Pod</string>
<string name="omnipod_driver_error_invalid_message_address">Неуспешна комуникация: получи съобщение с невалиден номер на последователност от Pod</string>
<string name="omnipod_driver_error_message_decoding_failed">Неуспешна комуникация: получени грешни входни параметри</string>
<string name="omnipod_driver_error_nonce_resync_failed">Комуникацията е неуспешна: nonce ресинхронизирането е неуспешно</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Комуникацията е неуспешна: nonce ресинхронизирането е неуспешно</string>
<string name="omnipod_driver_error_not_enough_data">Комуникацията е неуспешна: няма достатъчно данни, получени от Pod</string>
<string name="omnipod_driver_error_pod_fault">Грешка на Pod (%1$03d %2$s). Моля, деактивирайте вашия Pod и стартирайте нов</string>
<string name="omnipod_driver_error_pod_returned_error_response">Комуникацията е неуспешна: Pod върна отговор с грешка</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Управление на Pod</string>
<string name="omnipod_cmd_init_pod">Инициализация на Pod</string>
<string name="omnipod_cmd_deactivate_pod">Деактивирай под</string>
<string name="omnipod_cmd_discard_pod">Премахни под</string>
<string name="omnipod_cmd_pod_history">История на под</string>
<string name="omnipod_cmd_set_bolus">Стартирай болус</string>
<string name="omnipod_cmd_cancel_bolus">Отмяна на болус</string>
<string name="omnipod_cmd_set_tbr">Приложи временен базал</string>
@ -82,32 +58,21 @@
<string name="omnipod_cmd_suspend_delivery">Спиране на доставката на инсулин</string>
<string name="omnipod_cmd_resume_delivery">Подновяване на доставката</string>
<string name="omnipod_cmd_unknown_entry">Непознат запис</string>
<string name="omnipod_cmd_bolus_value">%1$.2fЕ</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.2f U, CH=%2$.1f g</string>
<string name="omnipod_cmd_tbr_value">Скорост: %1$.2f U, Продължителност: %2$d мин</string>
<string name="omnipod_cmd_discard_pod_desc">Ако натиснете <b>OK</b>, състоянието на Pod ще бъде нулирано и няма да можете да общувате с него повече. Правете това, само ако вече не можете да се свързвате с него. Ако все още можете да общувате с Под, моля, използвайте опцията <b>Деактивирай Pod</b>.</string>
<string name="omnipod_cmd_pod_history_na">Историята на Pod не е достъпна в момента.</string>
<string name="omnipod_init_pod_wizard_step1_title">Напълни Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nНапълнете с достатъчно инсулин за 3 дни.\n\nИзчакайте два сигнала от Pod по време на процеса на зареждане. Те показват, че е вмъкнат минималният размер от 85U. Уверете се, че сте изпразнил напълно спринцовката, дори след като сте чули двата сигнала.\n\nСлед пълнене на Pod, моля натиснете <b>Следващ</b>.\n\n<b>Забележка:</b> не вадете капачката на капсулата на Podв този момент.</string>
<string name="omnipod_init_pod_wizard_step2_title">Пълнене</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Опитвам се да се сдвоя с Pod.\n\nКогато всички елементи са проверени, можете да натиснете <b>Следващ</b>.\n\n<b>Забележка:</b> задръжте Pod много близо до RileyLink в този момент.</string>
<string name="omnipod_init_pod_wizard_step3_title">Прикрепете Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nПодгответе мястото за инфузия. Отстранете капачката на Pod и лепенката и прикрепете капсулата към мястото за инфузия.\n\nАко канюла стърчи, моля натиснете <b>Отказ</b> и изхвърлете вашия Pod.\n\nПрес <b>Следваща</b> да се вмъкне канюлата и да започне базалната доставка.</string>
<string name="omnipod_init_pod_wizard_step4_title">Вмъкване на канюла</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Опитвам се да определя първоначалния базален график и да вмъкна канюлата.\n\nКогато всички елементи са проверени, можете да натиснете <b>Следващ</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Информация за Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\Podе активна.\n\nВашият базален график е програмиран и канюлата вмъкната.\n\nМоля, проверете дали канюлата е поставена правилно или заменете Pod, ако чувствате, че не е.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Деактивирай Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nНатиснете <b>Следващ</b> , за да деактивирате Pod.\n\n<b>Забележка:</b> Това ще спре всички доставки на инсулин и деактивира Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Деактивиране на Pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Деактивиране на Pod.\n\nКогато всички елементи са проверени, можете да натиснете <b>Следващ</b>.\n\n<b>Забележка:</b> Ако деактивирането непрекъснато се проваля, моля натиснете <b>Отказ</b> и използвайте опция <b>Нулирай Pod</b> , за да възстановите състоянието на Pod.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod изключен.\n\nмоля, извадете Pod от тялото си и го хвърли.</string>
<string name="omnipod_init_pod_pair_pod">Сдвояване на под</string>
<string name="omnipod_init_pod_prime_pod">Пълнене на под</string>
<string name="omnipod_init_pod_fill_cannula">Напълни канула</string>
<string name="omnipod_init_pod_set_basal_profile">Приложи базалният профил</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Отмяна</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Деактивирай под</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Напълни Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nНапълнете с достатъчно инсулин за 3 дни.\n\nИзчакайте два сигнала от Pod по време на процеса на зареждане. Те показват, че е вмъкнат минималният размер от 85U. Уверете се, че сте изпразнил напълно спринцовката, дори след като сте чули двата сигнала.\n\nСлед пълнене на Pod, моля натиснете <b>Следващ</b>.\n\n<b>Забележка:</b> не вадете капачката на капсулата на Podв този момент.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Пълнене</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Опитвам се да се сдвоя с Pod.\n\nКогато всички елементи са проверени, можете да натиснете <b>Следващ</b>.\n\n<b>Забележка:</b> задръжте Pod много близо до RileyLink в този момент.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Прикрепете Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nПодгответе мястото за инфузия. Отстранете капачката на Pod и лепенката и прикрепете капсулата към мястото за инфузия.\n\nАко канюла стърчи, моля натиснете <b>Отказ</b> и изхвърлете вашия Pod.\n\nПрес <b>Следваща</b> да се вмъкне канюлата и да започне базалната доставка.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Вмъкване на канюла</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Опитвам се да определя първоначалния базален график и да вмъкна канюлата.\n\nКогато всички елементи са проверени, можете да натиснете <b>Следващ</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Информация за Pod</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\Podе активна.\n\nВашият базален график е програмиран и канюлата вмъкната.\n\nМоля, проверете дали канюлата е поставена правилно или заменете Pod, ако чувствате, че не е.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Деактивирай Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nНатиснете <b>Следващ</b> , за да деактивирате Pod.\n\n<b>Забележка:</b> Това ще спре всички доставки на инсулин и деактивира Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Деактивиране на Pod</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Деактивиране на Pod.\n\nКогато всички елементи са проверени, можете да натиснете <b>Следващ</b>.\n\n<b>Забележка:</b> Ако деактивирането непрекъснато се проваля, моля натиснете <b>Отказ</b> и използвайте опция <b>Нулирай Pod</b> , за да възстановите състоянието на Pod.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod изключен.\n\nмоля, извадете Pod от тялото си и го хвърли.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Край на напомняне за сдвояване</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Край на напомнянето за настройка</string>
@ -123,43 +88,25 @@
<string name="omnipod_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Задаването на временен базал е неуспешно. Ако преди това е изпълнявал временен базал, може да е бил отменен. Моля, ръчно опреснете статуса на Pod от раздела Omnipod.</string>
<string name="omnipod_error_set_time_failed_delivery_might_be_suspended">Неуспешно задаване на базален профил. Доставката може да бъде спряна! Моля, ръчно опреснете състоянието на Pod от раздел Omnipod и възобновете доставката, ако е необходимо.</string>
<string name="omnipod_error_set_time_failed_delivery_suspended">Неуспешно задаване на базален профил. Доставката е спряна! Моля, ръчно подновяване на доставката от раздела Omnipod.</string>
<string name="omnipod_bolus_failed_uncertain">Не може да се провери дали болус е успял. Моля, уверете се ръчно, че Вашата Pod се активира чрез слушане на кликвания. <b>Ако сте сигурни, че болус не е успял, вие трябва ръчно да изтриете болния запис от лечение, дори ако щракнете върху \'Отказ от болус\' сега!</b></string>
<string name="omnipod_bolus_failed_uncertain_smb">Не може да се провери дали SMB bolus (%1$.2f U) е успял. <b>Ако сте сигурни, че на Bolus не е успял, трябва ръчно да изтриете запис SMB от лечение.</b></string>
<string name="omnipod_rl_stats">Статистика на RL</string>
<string name="omnipod_read_pulse_log_short">Pulse лог</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Firmware версия</string>
<string name="omnipod_errors">Грешки</string>
<string name="omnipod_cmd_basal_profile_not_set_is_same">Профилът е идентичен.</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Firmware версия</string>
<string name="omnipod_overview_errors">Грешки</string>
<string name="omnipod_custom_action_reset_rileylink">Нулирай RileyLink конфигурацията</string>
<string name="omnipod_time_or_timezone_change">Време и/или промяна на часовата зона на помпата</string>
<string name="omnipod_composite_time">%1$s и %2$s</string>
<string name="omnipod_time_ago">преди %s</string>
<string name="omnipod_waiting_for_rileylink_connection">Изчакване за връзка...</string>
<string name="omnipod_bolus_did_not_succeed">Болус неуспешен</string>
<string name="omnipod_refresh">Обнови</string>
<string name="omnipod_resume_delivery">Подновяване на доставката</string>
<string name="omnipod_error_pod_suspended">Pod изключен</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Изчакване за връзка...</string>
<string name="omnipod_less_than_a_minute_ago">преди по-малко от минута</string>
<string name="omnipod_suspend_delivery_short">Спиране</string>
<string name="omnipod_cmd_pair_and_prime">Сдвояване и пълнене</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Запълнете канюлата и настройте базалния профил</string>
<string name="omnipod_cmd_get_pulse_log">Вземи лога</string>
<string name="omnipod_uncertain_failure">Неизвестна грешка</string>
<string name="omnipod_cancelled_old_tbr_failed_to_set_new">Спрян стар базал, но неуспешно задаване на нов</string>
<string name="omnipod_cmd_activate_pod">Сдвояване и пълнене</string>
<string name="omnipod_cmd_insert_cannula">Запълнете канюлата и настройте базалния профил</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Поставете фалшив временен базал, защото Pod е спряно</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Анулират фалшив временен базал, който е създаден, защото Pod е спряно</string>
<string name="omnipod_uncertain">неизвестно</string>
<string name="omnipod_expiration_alerts_updated">Конфигурация на тревога актуализирана в Pod</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Друго</string>
<string name="omnipod_preference_category_alerts">Известия</string>
<string name="omnipod_preference_category_confirmation_beeps">Звук за потвърждение</string>
<string name="omnipod_wizard_button_exit">Изход</string>
<string name="omnipod_wizard_button_previous">Предишен</string>
<string name="omnipod_wizard_button_next">Следващ</string>
<string name="omnipod_wizard_button_finish">Край</string>
<string name="omnipod_change_pod_wizard_button_next">Следващ</string>
<string name="omnipod_history_item_description">Описание</string>
<string name="omnipod_history_item_source">Източник</string>
<string name="omnipod_history_item_date">Дата</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Integrace pumpy pro Omnipod, vyžaduje zařízení RileyLink (s firmwarem alespoň 2.0).</string>
<string name="omnipod_pump_description">Integrace pumpy pro Omnipod, vyžaduje zařízení RileyLink (s firmwarem alespoň 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Pípnutí při bolusu povoleno</string>
<string name="omnipod_config_basal_beeps_enabled">Pípnutí při bazálu povoleno</string>
@ -17,17 +17,16 @@
<string name="omnipod_config_low_reservoir_alert_units">Počet jednotek</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">před chvílí</string>
<string name="omnipod_pod_mgmt">Správa Podu</string>
<string name="omnipod_pod_status">Stav Podu</string>
<string name="omnipod_total_delivered_label">Celkem dodáno</string>
<string name="omnipod_total_delivered">%1$.2f U</string>
<string name="omnipod_reservoir_left">Zbývá %1$.2f U</string>
<string name="omnipod_reservoir_over50">Více než 50 U</string>
<string name="omnipod_pod_address">Adresa Podu</string>
<string name="omnipod_pod_expiry">Expirace Podu</string>
<string name="omnipod_overview_pod_status">Stav Podu</string>
<string name="omnipod_overview_total_delivered">Celkem dodáno</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f U</string>
<string name="omnipod_overview_reservoir_value">Zbývá %1$.2f U</string>
<string name="omnipod_overview_reservoir_value_over50">Více než 50 U</string>
<string name="omnipod_overview_pod_address">Adresa Podu</string>
<string name="omnipod_overview_pod_expiry_date">Expirace Podu</string>
<string name="omnipod_warning">Varování</string>
<string name="omnipod_pod_status_no_active_pod">Žádný aktivní Pod</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Instalace probíhá (čekání na párování a plnění)</string>
<string name="omnipod_pod_status_waiting_for_activation">Instalace probíhá (čekání na párování a plnění)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Instalace probíhá (čeká se na vložení kanyly)</string>
<string name="omnipod_pod_status_running">Běží</string>
<string name="omnipod_pod_status_suspended">Pozastaveno</string>
@ -35,39 +34,16 @@
<string name="omnipod_pod_status_activation_time_exceeded">Byl překročen čas aktivace</string>
<string name="omnipod_pod_status_inactive">Neaktivní</string>
<string name="omnipod_pod_status_pod_fault_description">Chyba Podu: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Výstrahy aktivního Podu</string>
<string name="omnipod_acknowledge_active_alerts_short">Potrvdit upozornění</string>
<string name="omnipod_overview_pod_active_alerts">Výstrahy aktivního Podu</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433,91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Chybná adresa RileyLinku.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Operace není možná.\n\nNejdříve je nutné nakonfigurovat Omnipod, než bude možné tuto funkci použít.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Operace není možná.\n\n Je třeba několik minut počkat, dokud se AAPS nepokusí poprvé nastavit profil.</string>
<string name="omnipod_error_illegal_init_action_type">Neplatný atribut PodInitActionType: %1$s</string>
<string name="omnipod_error_pod_not_attached">Žádný aktivní Pod</string>
<string name="omnipod_driver_error_setup_action_verification_failed">Ověření příkazu se nezdařilo</string>
<string name="omnipod_driver_error_unexpected_exception_type">Došlo k neočekávané chybě. Nahlaste ji! (typ: %1$s).</string>
<string name="omnipod_driver_error_invalid_parameters">Komunikace selhala: byly přijaty neplatné vstupní parametry</string>
<string name="omnipod_driver_error_communication_failed_timeout">Komunikace selhala: časový limit vypršel</string>
<string name="omnipod_driver_error_communication_failed_unexpected_exception">Komunikace se nezdařila: došlo k neočekávané chybě. Prosím nahlašte!</string>
<string name="omnipod_driver_error_crc_mismatch">Komunikace selhala: ověření integrity zprávy se nezdařilo</string>
<string name="omnipod_driver_error_invalid_packet_type">Komunikace selhala: byly přijaty neplatné pakety z podu</string>
<string name="omnipod_driver_error_invalid_progress_state">Komunikace selhala: Pod je v chybném stavu</string>
<string name="omnipod_driver_error_invalid_response">Komunikace selhala: byla přijata neplatná odezva z Podu</string>
<string name="omnipod_driver_error_invalid_message_sequence_number">Komunikace selhala: od Podu byla přijata zpráva s neplatným pořadovým číslem</string>
<string name="omnipod_driver_error_invalid_message_address">Komunikace selhala: od Podu byla přijata zpráva s neplatnou adresou</string>
<string name="omnipod_driver_error_message_decoding_failed">Komunikace selhala: nepodařilo se dekódovat zprávu z Podu</string>
<string name="omnipod_driver_error_nonce_resync_failed">Komunikace selhala: synchronizace hodnoty Nonce se nezdařila</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Komunikace selhala: hodnota Nonce nebyla synchronizována</string>
<string name="omnipod_driver_error_not_enough_data">Komunikace selhala: nedostatek dat přijatých z Podu</string>
<string name="omnipod_driver_error_pod_fault">Byla zjištěna chyba Podu (%1$03d %2$s). Deaktivujte Pod a spusťte nový</string>
<string name="omnipod_driver_error_pod_returned_error_response">Komunikace selhala: Pod vrátil chybovou odezvu</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Správa Podu</string>
<string name="omnipod_cmd_init_pod">Inicializovat Pod</string>
<string name="omnipod_cmd_deactivate_pod">Deaktivovat Pod</string>
<string name="omnipod_cmd_discard_pod">Vyřadit Pod</string>
<string name="omnipod_cmd_pod_history">Historie Podu</string>
<string name="omnipod_cmd_set_bolus">Nastavit bolus</string>
<string name="omnipod_cmd_cancel_bolus">Zrušit bolus</string>
<string name="omnipod_cmd_set_tbr">Nastavit dočasný bazál</string>
@ -82,26 +58,18 @@
<string name="omnipod_cmd_suspend_delivery">Pozastavit dodávání inzulínu</string>
<string name="omnipod_cmd_resume_delivery">Obnovit dodávání inzulínu</string>
<string name="omnipod_cmd_unknown_entry">Neznámá položka</string>
<string name="omnipod_cmd_bolus_value">%1$.2f U</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.2f U, Sach=%2$.1f g</string>
<string name="omnipod_cmd_tbr_value">Rychlost: %1$.2f U, doba trvání: %2$d min</string>
<string name="omnipod_cmd_discard_pod_desc">Pokud stisknete <b>OK</b>, stav Podu bude vynuceně resetován a již nebudete moci komunikovat s Podem. Udělejte to pouze v případě, že s Podem již nelze komunikovat. Pokud stále můžete komunikovat s Podem, použijte volbu <b>Deaktivovat Pod</b>.\n\nPokud chcete pokračovat, ujistěte se, že Pod je sundaný z těla.</string>
<string name="omnipod_cmd_pod_history_na">Historie Podu není v daném okamžiku k dispozici.</string>
<string name="omnipod_init_pod_wizard_step1_title">Naplňte Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nNaplňte nový Pod dostatkem inzulínu na 3 dny.\n\nSledujte dvě pípnutí z Podu během procesu plnění. Tyto ukazují, že minimální množství 85U bylo naplněno. Ujistěte se, že stříkačka je zcela vyprázdněná a to i po vyslechnutí dvou pípnutí.\n\nPo naplnění Podu, prosím, stiskněte <b>Další</b>.\n\n<b>Poznámka:</b> prozatím nesundavejte kryt jehly.\n<b>Poznámka:</b>prosím umístěte RileyLink ve svislé pozici blízko Podu.</string>
<string name="omnipod_init_pod_wizard_step2_title">Plnění</string>
<string name="omnipod_init_pod_wizard_step3_title">Nasaďte Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPřipravte infuzní místo. Odstraňte krytku jehly a náplasti a nalepte Pod.\n\nPokud se kanyla odlepí, stiskněte <b>Zrušit</b> a zahoďte Pod.\n\nStiskněte <b>Další</b> pro vložení kanyly a spuštění bazálů.</string>
<string name="omnipod_init_pod_wizard_step4_title">Vkládání kanyly</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Snažím se nastavit počáteční základní bazální plán a vložit kanylu.\n\nPři zaškrtnutí všech položek můžete stisknout tlačítko <b>Další</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nPod je nyní aktivní.\n\nVáš bazál byl naprogramován a kanyla byla vložena.\n\nOvěřte, prosím, že kanyla byla vložena správně a případně vyměňte Pod.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Deaktivovat Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nStiskněte <b>Další</b> pro deaktivaci Podu.\n\n<b>Poznámka:</b> Zastavíte veškerý výdej inzulínu a deaktivujete Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Deaktivace Podu</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod deaktivován.\n\nOdstraňte Pod z těla a znehodnoťte jej.</string>
<string name="omnipod_init_pod_pair_pod">Párování Podu</string>
<string name="omnipod_init_pod_prime_pod">Plnění Podu</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Deaktivovat Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Naplňte Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nNaplňte nový Pod dostatkem inzulínu na 3 dny.\n\nSledujte dvě pípnutí z Podu během procesu plnění. Tyto ukazují, že minimální množství 85U bylo naplněno. Ujistěte se, že stříkačka je zcela vyprázdněná a to i po vyslechnutí dvou pípnutí.\n\nPo naplnění Podu, prosím, stiskněte <b>Další</b>.\n\n<b>Poznámka:</b> prozatím nesundavejte kryt jehly.\n<b>Poznámka:</b>prosím umístěte RileyLink ve svislé pozici blízko Podu.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Plnění</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Nasaďte Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPřipravte infuzní místo. Odstraňte krytku jehly a náplasti a nalepte Pod.\n\nPokud se kanyla odlepí, stiskněte <b>Zrušit</b> a zahoďte Pod.\n\nStiskněte <b>Další</b> pro vložení kanyly a spuštění bazálů.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Vkládání kanyly</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Snažím se nastavit počáteční základní bazální plán a vložit kanylu.\n\nPři zaškrtnutí všech položek můžete stisknout tlačítko <b>Další</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nPod je nyní aktivní.\n\nVáš bazál byl naprogramován a kanyla byla vložena.\n\nOvěřte, prosím, že kanyla byla vložena správně a případně vyměňte Pod.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Deaktivovat Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nStiskněte <b>Další</b> pro deaktivaci Podu.\n\n<b>Poznámka:</b> Zastavíte veškerý výdej inzulínu a deaktivujete Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Deaktivace Podu</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod deaktivován.\n\nOdstraňte Pod z těla a znehodnoťte jej.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Upomínka dokončení párování</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Upomínka dokončení nastavení</string>
@ -110,41 +78,25 @@
<string name="omnipod_alert_shutdown_imminent">Blíží se vypnutí</string>
<string name="omnipod_alert_low_reservoir">Nízký stav zásobníku</string>
<string name="omnipod_alert_unknown_alert">Neznámá výstraha</string>
<string name="omnipod_bolus_failed_uncertain_smb">Nelze ověřit, zda byl bolus SMB (%1$.2f U) úspěšně vydán. <b>Pokud jste si jisti, že bolus nebyl vydán, měli byste ručně odstranit položku SMB z Ošetření.</b></string>
<string name="omnipod_rl_stats">Statistika RL</string>
<string name="omnipod_read_pulse_log_short">Pulse log</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Verze firmwaru</string>
<string name="omnipod_errors">Chyby</string>
<string name="omnipod_cmd_basal_profile_not_set_is_same">Bazální profil je stejný, takže nebude znovu nastaven.</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Verze firmwaru</string>
<string name="omnipod_overview_errors">Chyby</string>
<string name="omnipod_custom_action_reset_rileylink">Resetovat konfiguraci RileyLinku</string>
<string name="omnipod_time_or_timezone_change">Změna času nebo časového pásma Podu</string>
<string name="omnipod_composite_time">%1$s a %2$s</string>
<string name="omnipod_time_ago">před %1$s</string>
<string name="omnipod_waiting_for_rileylink_connection">Čekání na připojení RileyLink...</string>
<string name="omnipod_bolus_did_not_succeed">Podání bolusu bylo neúspěšné</string>
<string name="omnipod_refresh">Obnovit</string>
<string name="omnipod_resume_delivery">Obnovit dodávání inzulínu</string>
<string name="omnipod_error_pod_suspended">Pod pozastavený</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Čekání na připojení RileyLink...</string>
<string name="omnipod_less_than_a_minute_ago">Před méně než minutou</string>
<string name="omnipod_suspend_delivery_short">Vypnutí</string>
<string name="omnipod_cmd_pair_and_prime">Spárovat a naplnit</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Naplnit kanylu a nastavit bazální profil</string>
<string name="omnipod_uncertain_failure">Neznámá chyba</string>
<string name="omnipod_cancelled_old_tbr_failed_to_set_new">Byl zrušen starý dočasný bazál, ale nový dočasný bazál se nepodařilo nastavit</string>
<string name="omnipod_cmd_activate_pod">Spárovat a naplnit</string>
<string name="omnipod_cmd_insert_cannula">Naplnit kanylu a nastavit bazální profil</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Nastavit falešný dočasný bazál, protože Pod je pozastaven</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Zrušit falešný dočasný bazál který byl vytvořen, protože Pod byl pozastaven</string>
<string name="omnipod_uncertain">neznámé</string>
<string name="omnipod_expiration_alerts_updated">Nastavení výstrahy bylo v Podu aktualizováno</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Jiné</string>
<string name="omnipod_preference_category_alerts">Varování</string>
<string name="omnipod_preference_category_confirmation_beeps">Potvrzovací pípnutí</string>
<string name="omnipod_wizard_button_exit">Konec</string>
<string name="omnipod_wizard_button_previous">Předchozí</string>
<string name="omnipod_wizard_button_next">Další</string>
<string name="omnipod_wizard_button_finish">Konec</string>
<string name="omnipod_change_pod_wizard_button_next">Další</string>
<string name="omnipod_history_item_description">Popis</string>
<string name="omnipod_history_item_source">Zdroj</string>
<string name="omnipod_history_item_date">Datum</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Um den Omnipod nutzen zu können, brauchst Du einen RileyLink (mind. Firmware 2.0).</string>
<string name="omnipod_pump_description">Um den Omnipod nutzen zu können, brauchst Du einen RileyLink (mind. Firmware 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Bolus-Piep aktiviert</string>
<string name="omnipod_config_basal_beeps_enabled">Basal-Piep aktiviert</string>
@ -15,17 +15,17 @@
<string name="omnipod_config_low_reservoir_alert_units">Anzahl der Einheiten</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">gerade eben</string>
<string name="omnipod_button_pod_management">Pod mgmt</string>
<string name="omnipod_pod_status">Pod Status</string>
<string name="omnipod_total_delivered_label">Insgesamt abgegeben</string>
<string name="omnipod_total_delivered">%1$.2f IE</string>
<string name="omnipod_reservoir_left">%1$.2f IE übrig</string>
<string name="omnipod_reservoir_over50">über 50 IE</string>
<string name="omnipod_pod_address">Pod Adresse</string>
<string name="omnipod_pod_expiry">Pod läuft ab</string>
<string name="omnipod_overview_button_pod_management">Pod mgmt</string>
<string name="omnipod_overview_pod_status">Pod Status</string>
<string name="omnipod_overview_total_delivered">Insgesamt abgegeben</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f IE</string>
<string name="omnipod_overview_reservoir_value">%1$.2f IE übrig</string>
<string name="omnipod_overview_reservoir_value_over50">über 50 IE</string>
<string name="omnipod_overview_pod_address">Pod Adresse</string>
<string name="omnipod_overview_pod_expiry_date">Pod läuft ab</string>
<string name="omnipod_warning">Warnung</string>
<string name="omnipod_pod_status_no_active_pod">Kein aktiver Pod</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Einrichtung im Gang (Warten auf Verbindung und Füllen)</string>
<string name="omnipod_pod_status_waiting_for_activation">Einrichtung im Gang (Warten auf Verbindung und Füllen)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Einrichtung im Gang (Warten auf Setzen der Kanüle)</string>
<string name="omnipod_pod_status_running">In Betrieb</string>
<string name="omnipod_pod_status_suspended">Angehalten</string>
@ -33,20 +33,14 @@
<string name="omnipod_pod_status_activation_time_exceeded">Aktivierungszeit überschritten</string>
<string name="omnipod_pod_status_inactive">Inaktiv</string>
<string name="omnipod_pod_status_pod_fault_description">Pod-Fehler: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Aktive Pod-Warnungen</string>
<string name="omnipod_button_acknowledge_active_alerts">Alarm bestätigen</string>
<string name="omnipod_overview_pod_active_alerts">Aktive Pod-Warnungen</string>
<string name="omnipod_overview_button_acknowledge_active_alerts">Alarm bestätigen</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">RileyLink Adresse ungültig.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Aktion ist nicht möglich.\n\n Du musst zuerst den Omnipod konfigurieren, bevor Du diese Operation verwenden kannst.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Aktion ist nicht möglich.\n\n Du musst ein paar Minuten warten bis AAPS versucht, das Basalprofil zum ersten Mal zu setzen.</string>
<string name="omnipod_error_illegal_init_action_type">Illegal PodInitActionType: %1$s</string>
<string name="omnipod_error_pod_not_attached">Kein aktiver Pod</string>
<string name="omnipod_error_setup_action_verification_failed">Kommandoprüfung fehlgeschlagen</string>
<string name="omnipod_error_invalid_parameters">Kommunikation fehlgeschlagen: Ungültige Eingabeparameter empfangen</string>
<string name="omnipod_error_communication_failed_timeout">Keine Verbindung: Zeitüberschreitung</string>
<string name="omnipod_error_communication_failed_unexpected_exception">Keine Verbindung: Es ist ein unerwarteter Fehler aufgetreten. Bitte melden!</string>
<string name="omnipod_error_crc_mismatch">Kommunikation fehlgeschlagen: Die Überprüfung der Nachrichtenintegrität ist fehlgeschlagen</string>
<string name="omnipod_error_invalid_packet_type">Kommunikation fehlgeschlagen: Es wurde ein ungültiges Paket vom Pod empfangen</string>
<string name="omnipod_error_invalid_progress_state">Kommunikation fehlgeschlagen: Der Pod befindet sich in einem falschen Status</string>
@ -61,10 +55,9 @@
<string name="omnipod_error_pod_returned_error_response">Kommunikation fehlgeschlagen: Fehlerhafte Antwort vom Pod</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_management_title">Pod Management</string>
<string name="omnipod_button_init_pod">Init Pod</string>
<string name="omnipod_cmd_deactivate_pod">Pod deaktivieren</string>
<string name="omnipod_cmd_discard_pod">Pod ablegen</string>
<string name="omnipod_button_pod_history">Pod Historie</string>
<string name="omnipod_pod_management_button_pod_history">Pod Historie</string>
<string name="omnipod_cmd_set_bolus">Mahlzeiten Bolus abgeben</string>
<string name="omnipod_cmd_cancel_bolus">Bolus abbrechen</string>
<string name="omnipod_cmd_set_tbr">Temp. Basalrate setzen</string>
@ -81,21 +74,17 @@
<string name="omnipod_cmd_unknown_entry">Unbekannte Eingabe</string>
<string name="omnipod_history_bolus_value">%1$.2f IE</string>
<string name="omnipod_history_bolus_value_with_carbs">%1$.2f IE, CH=%2$.1f g</string>
<string name="omnipod_history_history_not_available">Pod Historie derzeit nicht verfügbar.</string>
<string name="omnipod_init_pod_wizard_step1_title">Befülle den Pod</string>
<string name="omnipod_init_pod_wizard_step2_title">Befüllen</string>
<string name="omnipod_init_pod_wizard_step3_title">Befestige den Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nBereite die Infusionsstelle vor. Entferne den Nadelschutz des Pods und die Schutzfolie über dem Kleber. Klebe dann den Pod an die gewünschte Körperstelle.\n\nFalls die Kanüle herausragt, klicke <b>Abbrechen</b> und verwirf den Pod.\n\nKlicke <b>Weiter</b>; um die Kanüle zu setzen und die Insulinabgabe zu beginnen.</string>
<string name="omnipod_init_pod_wizard_step4_title">Kanüle setzen</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Erste Basalrate und Kanüle werden nun gesetzt.\n\nWenn alle Häkchen gesetzt sind, kannst Du <b>Weiter</b> klicken.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nDer Pod ist jetzt aktiv.\n\nDeine Basalrate ist programmiert und die Kanüle wurde gesetzt.\n\nBitte überprüfe, ob die Kanüle korrekt gesetzt wurde und ersetze den Pod, wenn Du das Gefühl hast, dass dies nicht erfolgreich war.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Pod deaktivieren</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nDrücke <b>Weiter</b> um den Pod zu deaktivieren.\n\n<b>Hinweis:</b> Dies unterbricht die gesamte Insulinabgabe und deaktiviert den Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Deaktiviere den Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod deaktiviert.\n\nBitte entferne den Pod von Deinem Körper und entsorge ihn.</string>
<string name="omnipod_init_pod_pair_pod">Pod verbinden</string>
<string name="omnipod_init_pod_prime_pod">Pod befüllen</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Pod deaktivieren</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Befülle den Pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Befüllen</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Befestige den Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nBereite die Infusionsstelle vor. Entferne den Nadelschutz des Pods und die Schutzfolie über dem Kleber. Klebe dann den Pod an die gewünschte Körperstelle.\n\nFalls die Kanüle herausragt, klicke <b>Abbrechen</b> und verwirf den Pod.\n\nKlicke <b>Weiter</b>; um die Kanüle zu setzen und die Insulinabgabe zu beginnen.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Kanüle setzen</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Erste Basalrate und Kanüle werden nun gesetzt.\n\nWenn alle Häkchen gesetzt sind, kannst Du <b>Weiter</b> klicken.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nDer Pod ist jetzt aktiv.\n\nDeine Basalrate ist programmiert und die Kanüle wurde gesetzt.\n\nBitte überprüfe, ob die Kanüle korrekt gesetzt wurde und ersetze den Pod, wenn Du das Gefühl hast, dass dies nicht erfolgreich war.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Pod deaktivieren</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nDrücke <b>Weiter</b> um den Pod zu deaktivieren.\n\n<b>Hinweis:</b> Dies unterbricht die gesamte Insulinabgabe und deaktiviert den Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Deaktiviere den Pod</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod deaktiviert.\n\nBitte entferne den Pod von Deinem Körper und entsorge ihn.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Erinnerung Kopplung beendet</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Erinnerung Setup beendet</string>
@ -104,14 +93,12 @@
<string name="omnipod_alert_shutdown_imminent">Herunterfahren steht unmittelbar bevor</string>
<string name="omnipod_alert_low_reservoir">Niedriger Reservoirstand</string>
<string name="omnipod_alert_unknown_alert">Unbekannter Alarm</string>
<string name="omnipod_errors">Fehler</string>
<string name="omnipod_confirmation_basal_profile_not_set_is_same">Basalprofil, unverändert wird nicht erneut eingestellt.</string>
<string name="omnipod_button_refresh">Aktualisieren</string>
<string name="omnipod_button_suspend_delivery">Unterbrechungen</string>
<string name="omnipod_overview_errors">Fehler</string>
<string name="omnipod_overview_button_refresh">Aktualisieren</string>
<string name="omnipod_overview_button_suspend_delivery">Unterbrechungen</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Andere</string>
<string name="omnipod_wizard_button_exit">Schließen</string>
<string name="omnipod_wizard_button_next">Weiter</string>
<string name="omnipod_change_pod_wizard_button_next">Weiter</string>
<string name="omnipod_history_item_description">Beschreibung</string>
<string name="omnipod_history_item_date">Datum</string>
<plurals name="omnipod_minutes">

View file

@ -2,32 +2,26 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">La integración de la bomba para Omnipod requiere el dispositivo RileyLink (con al menos 2,0 firmware).</string>
<string name="omnipod_pump_description">La integración de la bomba para Omnipod requiere el dispositivo RileyLink (con al menos 2,0 firmware).</string>
<!-- Omnipod Configuration -->
<!-- Omnipod - Fragment -->
<string name="omnipod_reservoir_left">%1$.2f U restantes</string>
<string name="omnipod_reservoir_over50">Más De 50 U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U restantes</string>
<string name="omnipod_overview_reservoir_value_over50">Más De 50 U</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_illegal_init_action_type">Ilegal PodInitActionType: %1$s</string>
<string name="omnipod_error_communication_failed_unexpected_exception">La comunicación ha fallado: error inesperado. ¡Por favor, Informe!</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_button_init_pod">Iniciar Pod</string>
<string name="omnipod_cmd_deactivate_pod">Desactivar Pod</string>
<string name="omnipod_history_history_not_available">Historial del Pod no disponible en el momento.</string>
<string name="omnipod_init_pod_wizard_step1_title">Llenar el Pod</string>
<string name="omnipod_init_pod_wizard_step2_title">Cebado</string>
<string name="omnipod_init_pod_wizard_step3_title">Adherir el Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPreparar el sitio de infusión. Retire el capuchón de la aguja del Pod y el adhesivo y aplique el Pod al sitio de perfusión.\n\nSi la cánula se queda fuera, por favor presione <b>Cancel</b> y descarte su Pod.\n\nPress <b>Next</b> para insertar la cánula y comenzar la entrega basal.</string>
<string name="omnipod_init_pod_wizard_step4_title">Insertar cánula</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Intentando establecer la programación basal inicial e insertar la cánula.\n\nCuando todos los elementos están marcados, puede pulsar <b>Siguiente</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nEl Pod ahora está activo.\n\nSu horario basal ha sido programado y la cánula ha sido insertada.\n\nPor favor, verifique que la cánula ha sido insertada correctamente y reemplace su Pod si usted siente que no lo ha hecho.</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nPulsa <b>Siguiente</b> para desactivar el Pod.\n\n<b>Nota:</b> Esto suspenderá toda la entrega insulina y desactivará el Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Desactivando el Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod desactivado.\n\nPor favor, retire el Pod de su cuerpo y desecharlo.</string>
<string name="omnipod_init_pod_pair_pod">Emparejar Pod</string>
<string name="omnipod_init_pod_prime_pod">Llenado de cánula del Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Llenar el Pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Cebado</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Adherir el Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPreparar el sitio de infusión. Retire el capuchón de la aguja del Pod y el adhesivo y aplique el Pod al sitio de perfusión.\n\nSi la cánula se queda fuera, por favor presione <b>Cancel</b> y descarte su Pod.\n\nPress <b>Next</b> para insertar la cánula y comenzar la entrega basal.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Insertar cánula</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Intentando establecer la programación basal inicial e insertar la cánula.\n\nCuando todos los elementos están marcados, puede pulsar <b>Siguiente</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nEl Pod ahora está activo.\n\nSu horario basal ha sido programado y la cánula ha sido insertada.\n\nPor favor, verifique que la cánula ha sido insertada correctamente y reemplace su Pod si usted siente que no lo ha hecho.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nPulsa <b>Siguiente</b> para desactivar el Pod.\n\n<b>Nota:</b> Esto suspenderá toda la entrega insulina y desactivará el Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Desactivando el Pod</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod desactivado.\n\nPor favor, retire el Pod de su cuerpo y desecharlo.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_setup_reminder_reminder">Recordatorio de configuración finalizado</string>
<string name="omnipod_alert_shutdown_imminent">El apagado es inminente</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">L\'intégration de la pompe Omnipod nécessite un boitier RileyLink (avec au minimum un firmware 2.0).</string>
<string name="omnipod_pump_description">L\'intégration de la pompe Omnipod nécessite un boitier RileyLink (avec au minimum un firmware 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Bips bolus activés</string>
<string name="omnipod_config_basal_beeps_enabled">Bips basal activés</string>
@ -17,17 +17,16 @@
<string name="omnipod_config_low_reservoir_alert_units">Nombre d\'unités</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">Il y a un moment</string>
<string name="omnipod_pod_mgmt">Pod mngt</string>
<string name="omnipod_pod_status">État du Pod</string>
<string name="omnipod_total_delivered_label">Total délivré</string>
<string name="omnipod_total_delivered">%1$.2f U</string>
<string name="omnipod_reservoir_left">%1$.2f U restantes</string>
<string name="omnipod_reservoir_over50">Plus de 50 U</string>
<string name="omnipod_pod_address">Adresse du Pod</string>
<string name="omnipod_pod_expiry">Pod expiré</string>
<string name="omnipod_overview_pod_status">État du Pod</string>
<string name="omnipod_overview_total_delivered">Total délivré</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U restantes</string>
<string name="omnipod_overview_reservoir_value_over50">Plus de 50 U</string>
<string name="omnipod_overview_pod_address">Adresse du Pod</string>
<string name="omnipod_overview_pod_expiry_date">Pod expiré</string>
<string name="omnipod_warning">Attention</string>
<string name="omnipod_pod_status_no_active_pod">Pas de Pod actif</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Configuration en cours (en attente d\'appairage et d\'amorçage)</string>
<string name="omnipod_pod_status_waiting_for_activation">Configuration en cours (en attente d\'appairage et d\'amorçage)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Configuration en cours (en attente d\'insertion de canule)</string>
<string name="omnipod_pod_status_running">En cours d\'exécution</string>
<string name="omnipod_pod_status_suspended">Suspendu</string>
@ -35,39 +34,16 @@
<string name="omnipod_pod_status_activation_time_exceeded">Délai d\'activation dépassé</string>
<string name="omnipod_pod_status_inactive">Inactif</string>
<string name="omnipod_pod_status_pod_fault_description">Défaut du Pod : %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Activer alertes Pod</string>
<string name="omnipod_acknowledge_active_alerts_short">Valider Alertes</string>
<string name="omnipod_overview_pod_active_alerts">Activer alertes Pod</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Adresse RileyLink invalide.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Operation impossible.\n\nVous devez d\'abord configurer l\'Omnipod pour pouvoir faire cette operation.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Operation impossible.\n\nVous devez attendre quelques minutes, jusqu\'à ce que AAPS tente de définir le profil de basale pour la première fois.</string>
<string name="omnipod_error_illegal_init_action_type">type d\'action d\'init Pod non autorisée : %1$s</string>
<string name="omnipod_error_pod_not_attached">Pas de Pod actif</string>
<string name="omnipod_driver_error_setup_action_verification_failed">Échec de vérification de la commande</string>
<string name="omnipod_driver_error_unexpected_exception_type">Erreur inconnue. Veuillez signaler ! (type : %1$s).</string>
<string name="omnipod_driver_error_invalid_parameters">Échec de communication : paramètres d\'entrées reçus invalides</string>
<string name="omnipod_driver_error_communication_failed_timeout">Échec de communication : délai expiré</string>
<string name="omnipod_driver_error_communication_failed_unexpected_exception">Échec de communication : Erreur inconnue. Veuillez signaler !</string>
<string name="omnipod_driver_error_crc_mismatch">Échec de communication : vérification de l\'intégrité du message échouée</string>
<string name="omnipod_driver_error_invalid_packet_type">Échec de communication : paquet reçu du Pod invalide</string>
<string name="omnipod_driver_error_invalid_progress_state">Échec de communication : état du Pod incorrect</string>
<string name="omnipod_driver_error_invalid_response">Échec de communication : réponse invalide reçue du Pod</string>
<string name="omnipod_driver_error_invalid_message_sequence_number">Échec de communication : message reçu du Pod avec un numéro de séquence invalide</string>
<string name="omnipod_driver_error_invalid_message_address">Échec de communication : message reçu du Pod avec une adresse invalide</string>
<string name="omnipod_driver_error_message_decoding_failed">Échec de communication : échec du décodage du message reçu du Pod</string>
<string name="omnipod_driver_error_nonce_resync_failed">Échec de communication : resynchro nonce échouée</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Échec de communication : nonce non synchro</string>
<string name="omnipod_driver_error_not_enough_data">Échec de communication : pas assez de données reçues du Pod</string>
<string name="omnipod_driver_error_pod_fault">Un défaut du Pod a été détecté (%1$03d %2$s). Veuillez désactiver votre Pod et en démarrer un nouveau</string>
<string name="omnipod_driver_error_pod_returned_error_response">Échec de communication : le Pod a renvoyé un message d\'erreur</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Gestion Pod</string>
<string name="omnipod_cmd_init_pod">Init Pod</string>
<string name="omnipod_cmd_deactivate_pod">Désactiver Pod</string>
<string name="omnipod_cmd_discard_pod">Supprimer le Pod</string>
<string name="omnipod_cmd_pod_history">Historique Pod</string>
<string name="omnipod_cmd_set_bolus">Définir bolus</string>
<string name="omnipod_cmd_cancel_bolus">Annuler bolus</string>
<string name="omnipod_cmd_set_tbr">Définir basale temporaire</string>
@ -82,32 +58,21 @@
<string name="omnipod_cmd_suspend_delivery">Suspendre l\'injection</string>
<string name="omnipod_cmd_resume_delivery">Pousuivre l\'injection</string>
<string name="omnipod_cmd_unknown_entry">Entrée inconnue</string>
<string name="omnipod_cmd_bolus_value">%1$.2f U</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.2f U, Gluc=%2$.1f g</string>
<string name="omnipod_cmd_tbr_value">Débit : %1$.2f U, durée : %2$d min</string>
<string name="omnipod_cmd_discard_pod_desc">Si vous appuyez sur <b>OK</b>, le Pod sera réinitialisé et vous ne pourrez plus communiquer avec lui. Ne le faite que si vous ne pouvez plus communiquer avec le Pod. Si vous pouvez toujours communiquer avec lui, veuillez utiliser l\'option <b>Désactiver Pod</b>.\n\n Si vous souhaitez le faire, assurez-vous de retirer également le Pod de votre corps.</string>
<string name="omnipod_cmd_pod_history_na">Historique Pod non disponible pour le moment.</string>
<string name="omnipod_init_pod_wizard_step1_title">Remplir le Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nRemplir le nouveau Pod avec suffisamment d\'insuline pendant 3 jours.\n\nÉcoutez les deux bips du Pod pendant le processus de remplissage. Ils indiquent que la quantité minimale de 85U a été ajouté. Assurez-vous de vider complètement la seringue de remplissage, même après avoir entendu les deux bips.\n\nAprès avoir rempli le Pod, veuillez appuyer sur <b>Suivant</b>.\n\n<b>Remarque :</b> Ne retirez pas la protection de l\'aiguille du Pod pour le moment.\n<b>Remarque :</b>Veuillez placer le RileyLink en position verticale et placez le Pod quelques centimètres à côté.</string>
<string name="omnipod_init_pod_wizard_step2_title">Amorçage</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Tentative d\'appairage et d\'amorçage du nouveau Pod.\n\nQuand tous les items sont cochées, appuyez sur <b>Suivant</b>.\n\n<b>Remarque :</b> Veuillez placer le RileyLink en position verticale et placez le Pod à quelques centimètres de lui.</string>
<string name="omnipod_init_pod_wizard_step3_title">Collez le Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPréparez le site d\'injection. Enlevez la protection de l\'aiguille et le support adhésif et collez le Pod sur le site d\'injection.\n\nSi la canule se colle, appuyez sur <b>Annuler</b> et jetez votre Pod.\n\nAppuyez sur <b>Suivant</b> pour insérer la canule et démarrer l\'injection de la basal.</string>
<string name="omnipod_init_pod_wizard_step4_title">Insertion canule</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Tentative de définir le schéma de basal et d\'insertion de la canule.\n\nQuand tous les items sont cochés, appuyez sur <b>Suivant</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Infos Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nLe Pod est maintenant actif.\n\nVos débits de basal ont été programmés et la canule a été insérée.\n\nVeuillez verifier que la canule a été insérée correctement et remplacez votre Pod si vous pensez que ce n\'est pas le cas.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Désactiver Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nAppuyez sur <b>Suivant</b> pour désactiver le Pod.\n\n<b>Remarque :</b> Cela suspendra l\'injection de l\'insuline et désactivera le Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Désactivation du Pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Désactivation du Pod.\n\nQuand tous les items sont cochés, appuyez sur <b>Suivant</b>.\n\n<b>Remarque :</b> Si la désactivation échoue en permanence, appuyez sur <b>Annuler</b> et utilisez l\'option <b>Réinit. Pod</b> pour réinitialiser l\'état du Pod.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod désactivé.\n\nVeuillez enlever le Pod de votre corps et le jeter.</string>
<string name="omnipod_init_pod_pair_pod">Appairer le Pod</string>
<string name="omnipod_init_pod_prime_pod">Amorcer le Pod</string>
<string name="omnipod_init_pod_fill_cannula">Remplir canule</string>
<string name="omnipod_init_pod_set_basal_profile">Définir profil de basale</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Annuler l\'injection</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Désactiver Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Remplir le Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nRemplir le nouveau Pod avec suffisamment d\'insuline pendant 3 jours.\n\nÉcoutez les deux bips du Pod pendant le processus de remplissage. Ils indiquent que la quantité minimale de 85U a été ajouté. Assurez-vous de vider complètement la seringue de remplissage, même après avoir entendu les deux bips.\n\nAprès avoir rempli le Pod, veuillez appuyer sur <b>Suivant</b>.\n\n<b>Remarque :</b> Ne retirez pas la protection de l\'aiguille du Pod pour le moment.\n<b>Remarque :</b>Veuillez placer le RileyLink en position verticale et placez le Pod quelques centimètres à côté.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Amorçage</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Tentative d\'appairage et d\'amorçage du nouveau Pod.\n\nQuand tous les items sont cochées, appuyez sur <b>Suivant</b>.\n\n<b>Remarque :</b> Veuillez placer le RileyLink en position verticale et placez le Pod à quelques centimètres de lui.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Collez le Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPréparez le site d\'injection. Enlevez la protection de l\'aiguille et le support adhésif et collez le Pod sur le site d\'injection.\n\nSi la canule se colle, appuyez sur <b>Annuler</b> et jetez votre Pod.\n\nAppuyez sur <b>Suivant</b> pour insérer la canule et démarrer l\'injection de la basal.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Insertion canule</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Tentative de définir le schéma de basal et d\'insertion de la canule.\n\nQuand tous les items sont cochés, appuyez sur <b>Suivant</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Infos Pod</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nLe Pod est maintenant actif.\n\nVos débits de basal ont été programmés et la canule a été insérée.\n\nVeuillez verifier que la canule a été insérée correctement et remplacez votre Pod si vous pensez que ce n\'est pas le cas.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Désactiver Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nAppuyez sur <b>Suivant</b> pour désactiver le Pod.\n\n<b>Remarque :</b> Cela suspendra l\'injection de l\'insuline et désactivera le Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Désactivation du Pod</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Désactivation du Pod.\n\nQuand tous les items sont cochés, appuyez sur <b>Suivant</b>.\n\n<b>Remarque :</b> Si la désactivation échoue en permanence, appuyez sur <b>Annuler</b> et utilisez l\'option <b>Réinit. Pod</b> pour réinitialiser l\'état du Pod.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod désactivé.\n\nVeuillez enlever le Pod de votre corps et le jeter.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Rappel fin d\'appairage</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Rappel fin de configuration</string>
@ -123,41 +88,25 @@
<string name="omnipod_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Le paramétrage de la basal temp a peut-être échoué. Si une basal temp était en cours d\'exécution, elle a été annulée. Veuillez actualiser manuellement l\'état du Pod à partir de l\'onglet Omnipod.</string>
<string name="omnipod_error_set_time_failed_delivery_might_be_suspended">Le paramétrage de l\'heure a peut-être échoué. L\'injection peut être suspendue ! Actualisez manuellement l\'état du Pod à partir de l\'onglet Omnipod et reprenez l\'injection si nécessaire.</string>
<string name="omnipod_error_set_time_failed_delivery_suspended">Le paramétrage de l\'heure a échoué. L\'injection est suspendue ! Veuillez poursuivre manuellement l\'injection à partir de l\'onglet Omnipod.</string>
<string name="omnipod_bolus_failed_uncertain">Impossible de vérifier si le bolus a réussi. Veuillez vérifier manuellement que votre Pod est en train de délivrer un bolus en écoutant des clics. <b>Si vous êtes sûr que le bolus n\'a pas réussi, vous devez supprimer manuellement l\'entrée bolus des traitements, même si vous cliquez sur \'Annuler bolus\' maintenant !</b></string>
<string name="omnipod_bolus_failed_uncertain_smb">Impossible de vérifier si le bolus SMB (%1$.2f U) a réussi. <b>Si vous êtes certain que le bolus n\'a pas réussi, vous devez supprimer manuellement l\'entrée SMB des traitements.</b></string>
<string name="omnipod_rl_stats">Stats RL</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Version du firmware</string>
<string name="omnipod_errors">Erreurs</string>
<string name="omnipod_cmd_basal_profile_not_set_is_same">Le profil Basal est le même, donc il ne sera pas redéfini.</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Version du firmware</string>
<string name="omnipod_overview_errors">Erreurs</string>
<string name="omnipod_custom_action_reset_rileylink">Réinitialiser la config. RileyLink</string>
<string name="omnipod_time_or_timezone_change">Heure et/ou fuseau horaire changé sur le Pod</string>
<string name="omnipod_composite_time">%1$s et %2$s</string>
<string name="omnipod_time_ago">il y a %1$s</string>
<string name="omnipod_waiting_for_rileylink_connection">En attente de connexion RileyLink ...</string>
<string name="omnipod_bolus_did_not_succeed">Le bolus n\'a pas réussi</string>
<string name="omnipod_refresh">Actualiser</string>
<string name="omnipod_resume_delivery">Pousuivre l\'injection</string>
<string name="omnipod_error_pod_suspended">Pod suspendu</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">En attente de connexion RileyLink ...</string>
<string name="omnipod_less_than_a_minute_ago">Il y a moins d\'une minute</string>
<string name="omnipod_suspend_delivery_short">Arrêter</string>
<string name="omnipod_cmd_pair_and_prime">Appairer et amorcer</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Remplir la canule et définir le profil de basal</string>
<string name="omnipod_uncertain_failure">Erreur inconnue</string>
<string name="omnipod_cancelled_old_tbr_failed_to_set_new">Ancien débit de basal temporaire annulé, mais impossible de définir le nouveau débits de basal temporaire</string>
<string name="omnipod_cmd_activate_pod">Appairer et amorcer</string>
<string name="omnipod_cmd_insert_cannula">Remplir la canule et définir le profil de basal</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Définir un faux débit de basal temporaire car le Pod est suspendu</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Annuler le faux débit de basal temporaire créé à cause du Pod suspendu</string>
<string name="omnipod_uncertain">incertain</string>
<string name="omnipod_expiration_alerts_updated">Configuration des alertes mise à jour dans le Pod</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Autres</string>
<string name="omnipod_preference_category_alerts">Alertes</string>
<string name="omnipod_preference_category_confirmation_beeps">Bips de confirmation</string>
<string name="omnipod_wizard_button_exit">Quitter</string>
<string name="omnipod_wizard_button_previous">Précédent</string>
<string name="omnipod_wizard_button_next">Suivant</string>
<string name="omnipod_wizard_button_finish">Terminer</string>
<string name="omnipod_change_pod_wizard_button_next">Suivant</string>
<string name="omnipod_history_item_description">Description</string>
<string name="omnipod_history_item_source">Source</string>
<string name="omnipod_history_item_date">Date</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Integrazione del microinfusore Omnipod, richiede un dispositivo RileyLink (con almeno il firmware 2.0).</string>
<string name="omnipod_pump_description">Integrazione del microinfusore Omnipod, richiede un dispositivo RileyLink (con almeno il firmware 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">BIP bolo abilitato</string>
<string name="omnipod_config_basal_beeps_enabled">BIP basale abilitato</string>
@ -17,17 +17,16 @@
<string name="omnipod_config_low_reservoir_alert_units">Numero di unità</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">Momenti fa</string>
<string name="omnipod_pod_mgmt">GSTN pod</string>
<string name="omnipod_pod_status">Stato pod</string>
<string name="omnipod_total_delivered_label">Totale erogato</string>
<string name="omnipod_total_delivered">%1$.2f U</string>
<string name="omnipod_reservoir_left">%1$.2f U rimanenti</string>
<string name="omnipod_reservoir_over50">Oltre 50 U</string>
<string name="omnipod_pod_address">Indirizzo pod</string>
<string name="omnipod_pod_expiry">Scadenza pod</string>
<string name="omnipod_overview_pod_status">Stato pod</string>
<string name="omnipod_overview_total_delivered">Totale erogato</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U rimanenti</string>
<string name="omnipod_overview_reservoir_value_over50">Oltre 50 U</string>
<string name="omnipod_overview_pod_address">Indirizzo pod</string>
<string name="omnipod_overview_pod_expiry_date">Scadenza pod</string>
<string name="omnipod_warning">Avviso</string>
<string name="omnipod_pod_status_no_active_pod">Nessun pod attivo</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Configurazione in corso (attesa associazione e caricamento)</string>
<string name="omnipod_pod_status_waiting_for_activation">Configurazione in corso (attesa associazione e caricamento)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Configurazione in corso (attesa inserimento cannula)</string>
<string name="omnipod_pod_status_running">In esecuzione</string>
<string name="omnipod_pod_status_suspended">Sospeso</string>
@ -35,39 +34,16 @@
<string name="omnipod_pod_status_activation_time_exceeded">Tempo di attivazione superato</string>
<string name="omnipod_pod_status_inactive">Inattivo</string>
<string name="omnipod_pod_status_pod_fault_description">Guasto pod: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Attiva avvisi pod</string>
<string name="omnipod_acknowledge_active_alerts_short">Conferma avvisi</string>
<string name="omnipod_overview_pod_active_alerts">Attiva avvisi pod</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Indirizzo RileyLink non valido.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Operazione non possibile.\n\nDevi prima configurare Omnipod.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Operazione non possibile.\n\n Devi attendere qualche minuto che AAPS imposti il profilo basale per la prima volta.</string>
<string name="omnipod_error_illegal_init_action_type">Illegal PodInitActionType: %1$s</string>
<string name="omnipod_error_pod_not_attached">Nessun pod attivo</string>
<string name="omnipod_driver_error_setup_action_verification_failed">Verifica comando fallita</string>
<string name="omnipod_driver_error_unexpected_exception_type">Si è verificato un errore imprevisto. Segnalalo! (%1$s).</string>
<string name="omnipod_driver_error_invalid_parameters">Comunicazione fallita: ricevuti parametri di input non validi</string>
<string name="omnipod_driver_error_communication_failed_timeout">Comunicazione fallita: timeout</string>
<string name="omnipod_driver_error_communication_failed_unexpected_exception">Comunicazione fallita: si è verificato un errore imprevisto. Segnalalo!</string>
<string name="omnipod_driver_error_crc_mismatch">Comunicazione fallita: verifica dell\'integrità del messaggio fallita</string>
<string name="omnipod_driver_error_invalid_packet_type">Comunicazione fallita: ricevuto un pacchetto non valido dal pod</string>
<string name="omnipod_driver_error_invalid_progress_state">Comunicazione fallita: il pod è in uno stato non corretto</string>
<string name="omnipod_driver_error_invalid_response">Comunicazione fallita: ricevuta una risposta non valida dal pod</string>
<string name="omnipod_driver_error_invalid_message_sequence_number">Comunicazione fallita: ricevuto dal pod un messaggio con una sequenza numerica non valida</string>
<string name="omnipod_driver_error_invalid_message_address">Comunicazione fallita: ricevuto dal pod un messaggio con un indirizzo non valido</string>
<string name="omnipod_driver_error_message_decoding_failed">Comunicazione fallita: non si è riuscito a decodificare il messaggio dal pod</string>
<string name="omnipod_driver_error_nonce_resync_failed">Comunicazione fallita: risincronizzazione \'nonce\' non riuscita</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Comunicazione fallita: \'nonce\' non sincronizzato</string>
<string name="omnipod_driver_error_not_enough_data">Comunicazione fallita: non abbastanza dati ricevuti dal pod</string>
<string name="omnipod_driver_error_pod_fault">È stato rilevato un guasto al pod (%1$03d %2$s). Disattiva il tuo pod e avviane uno nuovo</string>
<string name="omnipod_driver_error_pod_returned_error_response">Comunicazione fallita: il pod ha restituito una risposta di errore</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Gestione pod</string>
<string name="omnipod_cmd_init_pod">Inizializza pod</string>
<string name="omnipod_cmd_deactivate_pod">Disattiva pod</string>
<string name="omnipod_cmd_discard_pod">Scarta pod</string>
<string name="omnipod_cmd_pod_history">Storico pod</string>
<string name="omnipod_cmd_set_bolus">Imposta bolo</string>
<string name="omnipod_cmd_cancel_bolus">Cancella bolo</string>
<string name="omnipod_cmd_set_tbr">Imposta basale temporanea</string>
@ -82,32 +58,21 @@
<string name="omnipod_cmd_suspend_delivery">Sospendi erogazione</string>
<string name="omnipod_cmd_resume_delivery">Riprendi erogazione</string>
<string name="omnipod_cmd_unknown_entry">Inserimento sconosciuto</string>
<string name="omnipod_cmd_bolus_value">%1$.2f U</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.2f U, CHO=%2$.1f g</string>
<string name="omnipod_cmd_tbr_value">Tasso: %1$.2f U, durata: %2$d min</string>
<string name="omnipod_cmd_discard_pod_desc">Se premi <b>OK</b>, lo stato del pod verrà resettato forzatamente e non sarai più in grado di comunicare con il pod. Fallo solo se non riesci più a comunicare con il pod. Se puoi ancora comunicare con il pod, utilizza l\'opzione <b>Disattiva pod</b>.\n\nSe desideri procedere, assicurati anche di rimuovere il pod dal tuo corpo.</string>
<string name="omnipod_cmd_pod_history_na">Storico pod non disponibile al momento.</string>
<string name="omnipod_init_pod_wizard_step1_title">Riempi il pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nRiempi il nuovo pod con abbastanza insulina per 3 giorni.\n\nResta in ascolto di due bip dal pod durante il processo di riempimento. Questi indicano che è stata inserita la quantità minima di 85U. Assicurati di svuotare completamente la siringa di riempimento, anche dopo aver sentito i due segnali acustici.\n\nDopo il riempimento del pod, premi <b>Avanti</b>.\n\n<b>Nota:</b> non rimuovere la protezione dell\'ago del pod in questo momento.\n<b>Nota:</b> colloca il RileyLink in posizione verticale e il pod a pochi centimetri di distanza.</string>
<string name="omnipod_init_pod_wizard_step2_title">Caricamento</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Prova associazione nuovo pod e caricamento.\n\nQuando tutti gli elementi sono stati controllati, puoi premere <b>Avanti</b>.\n\n<b>Nota:</b> colloca il RileyLink in posizione verticale e il pod a pochi centimetri di distanza.</string>
<string name="omnipod_init_pod_wizard_step3_title">Attacca il pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPrepara il sito di infusione. Rimuovi la protezione dell\'ago del pod e il supporto adesivo e attacca il pod al sito di infusione.\n\nSe la cannula fuoriesce premi <b>Annulla</b> e cambia pod.\n\nPremi <b>Avanti</b> per inserire la cannula e iniziare l\'erogazione della basale.</string>
<string name="omnipod_init_pod_wizard_step4_title">Inserimento cannula</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Prova impostazione piano basale iniziale e inserimento cannula.\n\nQuando tutti gli elementi sono stati controllati, puoi premere <b>Avanti</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Info pod</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nIl pod è adesso attivo.\n\nIl tuo piano basale è stato programmato e la cannula è stata inserita.\n\nVerifica che la cannula sia stata inserita correttamente e sostituisci il tuo pod se avverti il contrario.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Disattiva pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nPremi <b>Avanti</b> per disattivare il pod.\n\n<b>Nota:</b> Questo sospenderà tutta l\'erogazione di insulina e disattiverà il pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Disattivazione del pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Disattivazione del pod.\n\nQuando tutti gli elementi sono stati controllati, puoi premere <b>Avanti</b>.\n\n<b>Nota:</b> se la disattivazione fallisce di continuo, premi <b>Annulla</b> e usa l\'opzione <b>Scarta pod</b> per resettare forzatamente lo stato del pod.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod disattivato.\n\nRimuovi il pod dal tuo corpo e gettalo.</string>
<string name="omnipod_init_pod_pair_pod">Associa pod</string>
<string name="omnipod_init_pod_prime_pod">Carica pod</string>
<string name="omnipod_init_pod_fill_cannula">Riempi cannula</string>
<string name="omnipod_init_pod_set_basal_profile">Imposta profilo basale</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Cancella erogazione</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Disattiva pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Riempi il pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nRiempi il nuovo pod con abbastanza insulina per 3 giorni.\n\nResta in ascolto di due bip dal pod durante il processo di riempimento. Questi indicano che è stata inserita la quantità minima di 85U. Assicurati di svuotare completamente la siringa di riempimento, anche dopo aver sentito i due segnali acustici.\n\nDopo il riempimento del pod, premi <b>Avanti</b>.\n\n<b>Nota:</b> non rimuovere la protezione dell\'ago del pod in questo momento.\n<b>Nota:</b> colloca il RileyLink in posizione verticale e il pod a pochi centimetri di distanza.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Caricamento</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Prova associazione nuovo pod e caricamento.\n\nQuando tutti gli elementi sono stati controllati, puoi premere <b>Avanti</b>.\n\n<b>Nota:</b> colloca il RileyLink in posizione verticale e il pod a pochi centimetri di distanza.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Attacca il pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPrepara il sito di infusione. Rimuovi la protezione dell\'ago del pod e il supporto adesivo e attacca il pod al sito di infusione.\n\nSe la cannula fuoriesce premi <b>Annulla</b> e cambia pod.\n\nPremi <b>Avanti</b> per inserire la cannula e iniziare l\'erogazione della basale.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Inserimento cannula</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Prova impostazione piano basale iniziale e inserimento cannula.\n\nQuando tutti gli elementi sono stati controllati, puoi premere <b>Avanti</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Info pod</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nIl pod è adesso attivo.\n\nIl tuo piano basale è stato programmato e la cannula è stata inserita.\n\nVerifica che la cannula sia stata inserita correttamente e sostituisci il tuo pod se avverti il contrario.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Disattiva pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nPremi <b>Avanti</b> per disattivare il pod.\n\n<b>Nota:</b> Questo sospenderà tutta l\'erogazione di insulina e disattiverà il pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Disattivazione del pod</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Disattivazione del pod.\n\nQuando tutti gli elementi sono stati controllati, puoi premere <b>Avanti</b>.\n\n<b>Nota:</b> se la disattivazione fallisce di continuo, premi <b>Annulla</b> e usa l\'opzione <b>Scarta pod</b> per resettare forzatamente lo stato del pod.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod disattivato.\n\nRimuovi il pod dal tuo corpo e gettalo.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Fine promemoria associazione</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Fine promemoria configurazione</string>
@ -123,43 +88,25 @@
<string name="omnipod_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Impostazione basale temporanea fallita. Se una basale temporanea era precedentemente in esecuzione, è stata cancellata. Aggiorna manualmente lo stato del pod dalla scheda Omnipod.</string>
<string name="omnipod_error_set_time_failed_delivery_might_be_suspended">L\'Impostazione dell\'ora potrebbe essere fallita. L\'erogazione potrebbe essere sospesa! Aggiorna manualmente lo stato del pod dalla scheda Omnipod e riprendi l\'erogazione se necessario.</string>
<string name="omnipod_error_set_time_failed_delivery_suspended">Impostazione ora fallita. L\'erogazione è sospesa! Riprendi manualmente l\'erogazione dalla scheda Omnipod.</string>
<string name="omnipod_bolus_failed_uncertain">Impossibile verificare se il bolo è riuscito. Verifica manualmente che il tuo pod stia erogando insulina ascoltando i click. <b>Se sei sicuro che il bolo non sia riuscito, dovresti eliminare manualmente l\'inserimento del bolo dalla sezione Trattamenti, anche se fai click su \'Cancella bolo\' in questo momento!</b></string>
<string name="omnipod_bolus_failed_uncertain_smb">Impossibile verificare se il bolo SMB (%1$.2f U) è riuscito. <b>Se sei sicuro che il bolo non sia riuscito, dovresti eliminare manualmente l\'inserimento dalla sezione Trattamenti.</b></string>
<string name="omnipod_rl_stats">Statistiche RL</string>
<string name="omnipod_read_pulse_log_short">Log impulsi</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Versione firmware</string>
<string name="omnipod_errors">Errori</string>
<string name="omnipod_cmd_basal_profile_not_set_is_same">Il profilo basale è lo stesso, non sarà impostato di nuovo.</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Versione firmware</string>
<string name="omnipod_overview_errors">Errori</string>
<string name="omnipod_custom_action_reset_rileylink">Reset config.ne RileyLink</string>
<string name="omnipod_time_or_timezone_change">Ora e/o fuso orario cambiati nel pod</string>
<string name="omnipod_composite_time">%1$s e %2$s</string>
<string name="omnipod_time_ago">%1$s fa</string>
<string name="omnipod_waiting_for_rileylink_connection">Attesa connessione RileyLink...</string>
<string name="omnipod_bolus_did_not_succeed">Il bolo non è riuscito</string>
<string name="omnipod_refresh">Aggiorna</string>
<string name="omnipod_resume_delivery">Riprendi erogazione</string>
<string name="omnipod_error_pod_suspended">Pod sospeso</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Attesa connessione RileyLink...</string>
<string name="omnipod_less_than_a_minute_ago">Meno di un minuto fa</string>
<string name="omnipod_suspend_delivery_short">Sospendi</string>
<string name="omnipod_cmd_pair_and_prime">Associa e carica</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Riempi cannula e imposta profilo basale</string>
<string name="omnipod_cmd_get_pulse_log">Ottieni log impulsi</string>
<string name="omnipod_uncertain_failure">Errore indeterminato</string>
<string name="omnipod_cancelled_old_tbr_failed_to_set_new">Cancellata la vecchia basale temporanea, ma fallita l\'impostazione della nuova basale temporanea</string>
<string name="omnipod_cmd_activate_pod">Associa e carica</string>
<string name="omnipod_cmd_insert_cannula">Riempi cannula e imposta profilo basale</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Imposta basale temporanea fittizia perché il pod è sospeso</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Cancella basale temporanea fittizia creata perché il pod era sospeso</string>
<string name="omnipod_uncertain">indeterminato</string>
<string name="omnipod_expiration_alerts_updated">Configurazione avviso aggiornata nel pod</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Altro</string>
<string name="omnipod_preference_category_alerts">Avvisi</string>
<string name="omnipod_preference_category_confirmation_beeps">Beep di conferma</string>
<string name="omnipod_wizard_button_exit">Esci</string>
<string name="omnipod_wizard_button_previous">Indietro</string>
<string name="omnipod_wizard_button_next">Avanti</string>
<string name="omnipod_wizard_button_finish">Fine</string>
<string name="omnipod_change_pod_wizard_button_next">Avanti</string>
<string name="omnipod_history_item_description">Descrizione</string>
<string name="omnipod_history_item_source">Fonte</string>
<string name="omnipod_history_item_date">Data</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Omnipod pompos integracijai reikalingas RileyLink (programinės įrangos versija ne mažiau 2.0).</string>
<string name="omnipod_pump_description">Omnipod pompos integracijai reikalingas RileyLink (programinės įrangos versija ne mažiau 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Boluso signalai įjungti</string>
<string name="omnipod_config_basal_beeps_enabled">Bazės signalai įjungti</string>
@ -12,29 +12,23 @@
<string name="omnipod_config_expiration_reminder_enabled">Galiojimo pabaigos priminimas</string>
<string name="omnipod_config_expiration_reminder_hours_before_shutdown">Valandos prieš išsijungimą</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_reservoir_left">liko %1$.2f U</string>
<string name="omnipod_reservoir_over50">Daugiau nei 50 U</string>
<string name="omnipod_overview_reservoir_value">liko %1$.2f U</string>
<string name="omnipod_overview_reservoir_value_over50">Daugiau nei 50 U</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_illegal_init_action_type">Neteisingas inicijavimo tipas:%1$s</string>
<string name="omnipod_error_communication_failed_unexpected_exception">Ryšio klaida: įvyko netikėta klaida. Prašome pranešti!</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_button_init_pod">Inicijuoti POD</string>
<string name="omnipod_cmd_deactivate_pod">Išjungti POD</string>
<string name="omnipod_history_history_not_available">POD istorija šiuo metu nėra prieinama.</string>
<string name="omnipod_init_pod_wizard_step1_title">Užpildyti POD</string>
<string name="omnipod_init_pod_wizard_step2_title">Užpildymas</string>
<string name="omnipod_init_pod_wizard_step3_title">Prijunkite POD</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nParuoškite infuzijos vietą. Nuimkite adatos apsauginį dangtelį, pleistro apsaugą ir užklijuokite POD ant infuzijos vietos.\n\nJei kaniulė atšoks, paspauskite <b>Atšaukti</b> ir pakeiskite POD.\n\nSpauskite <b>Kitas</b>, norėdami įvesti kaniulę ir pradėti leisti insuliną.</string>
<string name="omnipod_init_pod_wizard_step4_title">Įvedama kaniulė</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Mėginkite nustatyti pradinį bazės profilį ir įvesti kaniulę.\n\nKai visi elementai yra patikrinti, galite paspausti <b>Kitas</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nPOD yra aktyvus.\n\nJūsų bazės profilis yra suprogramuotas ir kaniulė įvesta.\n\nPatikrinkite, ar kaniulė buvo tinkamai įvesta, ir, jei jaučiate, kad taip nėra, pakeiskite POD.</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nSpustelėkite<b>Kitas</b>, kad išjungtumėte POD.\n\n<b>Pastaba:</b> Tai sustabdys insulino leidimą ir išjungs POD.</string>
<string name="omnipod_remove_pod_wizard_step2_title">POD išjungimas</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">POD išjungtas.\n\nNuimkite POD nuo odos ir jį išmeskite.</string>
<string name="omnipod_init_pod_pair_pod">POD suporavimas</string>
<string name="omnipod_init_pod_prime_pod">POD užpildymas</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Užpildyti POD</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Užpildymas</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Prijunkite POD</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nParuoškite infuzijos vietą. Nuimkite adatos apsauginį dangtelį, pleistro apsaugą ir užklijuokite POD ant infuzijos vietos.\n\nJei kaniulė atšoks, paspauskite <b>Atšaukti</b> ir pakeiskite POD.\n\nSpauskite <b>Kitas</b>, norėdami įvesti kaniulę ir pradėti leisti insuliną.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Įvedama kaniulė</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Mėginkite nustatyti pradinį bazės profilį ir įvesti kaniulę.\n\nKai visi elementai yra patikrinti, galite paspausti <b>Kitas</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nPOD yra aktyvus.\n\nJūsų bazės profilis yra suprogramuotas ir kaniulė įvesta.\n\nPatikrinkite, ar kaniulė buvo tinkamai įvesta, ir, jei jaučiate, kad taip nėra, pakeiskite POD.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nSpustelėkite<b>Kitas</b>, kad išjungtumėte POD.\n\n<b>Pastaba:</b> Tai sustabdys insulino leidimą ir išjungs POD.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">POD išjungimas</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">POD išjungtas.\n\nNuimkite POD nuo odos ir jį išmeskite.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_setup_reminder_reminder">Priminimas apie sąrankos pabaigą</string>
<string name="omnipod_alert_shutdown_imminent">Išjungimas yra neišvengiamas</string>

View file

@ -2,31 +2,26 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Pomp integratie voor Omnipod, vereist RileyLink (met firmware 2.0 of hoger).</string>
<string name="omnipod_pump_description">Pomp integratie voor Omnipod, vereist RileyLink (met firmware 2.0 of hoger).</string>
<!-- Omnipod Configuration -->
<!-- Omnipod - Fragment -->
<string name="omnipod_reservoir_left">%1$.2f E over</string>
<string name="omnipod_reservoir_over50">Meer dan 50 E</string>
<string name="omnipod_overview_reservoir_value">%1$.2f E over</string>
<string name="omnipod_overview_reservoir_value_over50">Meer dan 50 E</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433,91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_communication_failed_unexpected_exception">Communicatie mislukt: er is een onvoorziene fout opgetreden. Rapporteer dit alsjeblieft!</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_button_init_pod">Initialiseer Pod</string>
<string name="omnipod_cmd_deactivate_pod">Deactiveer Pod</string>
<string name="omnipod_history_history_not_available">Pod Historie momenteel niet beschikbaar.</string>
<string name="omnipod_init_pod_wizard_step1_title">Vul de Pod</string>
<string name="omnipod_init_pod_wizard_step2_title">Uitvullen</string>
<string name="omnipod_init_pod_wizard_step3_title">Plaats de Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nBereid het plaatsen voor. Verwijder de beschermdop van de naald en haal de papiertjes van de sticker.\n\n(Mocht je zien dat de canule uitsteekt, druk dan op <b>Annuleren</b> en begin overnieuw met een andere Pod.)\n\nBevestig de Pod op de huid. Druk op <b>Volgende</b> om de canule te gaan inschieten en de insulinetoediening te laten starten.</string>
<string name="omnipod_init_pod_wizard_step4_title">Canule inschieten</string>
<string name="omnipod_init_pod_wizard_step4_action_header">De basaalstand wordt ingesteld en de canule wordt ingeschoten.\n\nWanneer alle onderdelen zijn afgerond, druk je op <b>Volgende</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nDe Pod is nu actief.\n\nJouw basaalprofiel is ingeladen in de Pod en de canule is ingebracht.\n\nControleer of de canule correct is geplaatst en vervang de Pod als je denkt dat er iets is misgegaan.</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nDruk op <b>Volgende</b> om de Pod te deactiveren.\n\n<b>Opmerking:</b> Hiermee wordt de insuline toediening gestopt en wordt de Pod gedeactiveerd.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Deactiveren van de Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod gedeactiveerd.\n\nVerwijder de Pod van je lichaam en gooi hem weg.</string>
<string name="omnipod_init_pod_pair_pod">Pod Koppelen</string>
<string name="omnipod_init_pod_prime_pod">Pod Uitvullen</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Vul de Pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Uitvullen</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Plaats de Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nBereid het plaatsen voor. Verwijder de beschermdop van de naald en haal de papiertjes van de sticker.\n\n(Mocht je zien dat de canule uitsteekt, druk dan op <b>Annuleren</b> en begin overnieuw met een andere Pod.)\n\nBevestig de Pod op de huid. Druk op <b>Volgende</b> om de canule te gaan inschieten en de insulinetoediening te laten starten.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Canule inschieten</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">De basaalstand wordt ingesteld en de canule wordt ingeschoten.\n\nWanneer alle onderdelen zijn afgerond, druk je op <b>Volgende</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nDe Pod is nu actief.\n\nJouw basaalprofiel is ingeladen in de Pod en de canule is ingebracht.\n\nControleer of de canule correct is geplaatst en vervang de Pod als je denkt dat er iets is misgegaan.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nDruk op <b>Volgende</b> om de Pod te deactiveren.\n\n<b>Opmerking:</b> Hiermee wordt de insuline toediening gestopt en wordt de Pod gedeactiveerd.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Deactiveren van de Pod</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod gedeactiveerd.\n\nVerwijder de Pod van je lichaam en gooi hem weg.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_setup_reminder_reminder">Herinnering setup afronden</string>
<string name="omnipod_alert_shutdown_imminent">Schakelt zeer binnenkort uit</string>

View file

@ -2,32 +2,26 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Integracja pompy Omnipod, wymaga RileyLink (z firmwarem 2.0 lub wyższym).</string>
<string name="omnipod_pump_description">Integracja pompy Omnipod, wymaga RileyLink (z firmwarem 2.0 lub wyższym).</string>
<!-- Omnipod Configuration -->
<!-- Omnipod - Fragment -->
<string name="omnipod_reservoir_left">%1$.2f U zostało</string>
<string name="omnipod_reservoir_over50">Ponad 50 U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U zostało</string>
<string name="omnipod_overview_reservoir_value_over50">Ponad 50 U</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433,91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_illegal_init_action_type">Niedozwolone działanie PodInitActionType: %1$s</string>
<string name="omnipod_error_communication_failed_unexpected_exception">Komunikacja nie powiodła się: wystąpił nieoczekiwany błąd. Proszę zgłosić!</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_button_init_pod">Uruchom Pod</string>
<string name="omnipod_cmd_deactivate_pod">Odłącz Pod</string>
<string name="omnipod_history_history_not_available">Historia Pod nie jest dostępna w tej chwili.</string>
<string name="omnipod_init_pod_wizard_step1_title">Napełnij Pod</string>
<string name="omnipod_init_pod_wizard_step2_title">Wypełnianie</string>
<string name="omnipod_init_pod_wizard_step3_title">Przymocuj Poda</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPrzygotowanie miejsca do infuzji. Zdjąć osłonkę igły i zabezpieczenie plastra i przykleić Pod do skóry w miejscu wkłucia.\n\nJeśli kaniula odkleja się, proszę wcisnąć <b>Anuluj</b> i odczepić Pod.\n\nNaciśnij <b>Następny</b> w celu wprowadzenia kaniuli i rozpoczęcia podawania bazy.</string>
<string name="omnipod_init_pod_wizard_step4_title">Wprowadzanie kaniuli</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Próba ustawienia początkowego planu bazowego i wprowadzeia kaniuli.\n\nKiedy wszystkie elementy są sprawdzane, można nacisnąć <b>Następny</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nPod jest teraz aktywny.\n\nTwój plan dawki bazowej został zaprogramowany i wprowadzono kaniulę w miejsce wkłucia.\n\nSprawdź, czy kaniula została prawidłowo włożona i wymień swój Pod, jeśli czujesz, że nie.</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nNaciśnij <b>Następny</b> w celu odłączenia Poda.\n\n<b>Uwaga:</b> To spowoduje zawieszenie wszystkich dostaw insuliny i dezaktywację Poda.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Odłączanie Poda</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod odłączony.\n\nProszę odkleić Pod od ciała i wyrzucić go.</string>
<string name="omnipod_init_pod_pair_pod">Sparuj Pod</string>
<string name="omnipod_init_pod_prime_pod">Wypełnij Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Napełnij Pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Wypełnianie</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Przymocuj Poda</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPrzygotowanie miejsca do infuzji. Zdjąć osłonkę igły i zabezpieczenie plastra i przykleić Pod do skóry w miejscu wkłucia.\n\nJeśli kaniula odkleja się, proszę wcisnąć <b>Anuluj</b> i odczepić Pod.\n\nNaciśnij <b>Następny</b> w celu wprowadzenia kaniuli i rozpoczęcia podawania bazy.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Wprowadzanie kaniuli</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Próba ustawienia początkowego planu bazowego i wprowadzeia kaniuli.\n\nKiedy wszystkie elementy są sprawdzane, można nacisnąć <b>Następny</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nPod jest teraz aktywny.\n\nTwój plan dawki bazowej został zaprogramowany i wprowadzono kaniulę w miejsce wkłucia.\n\nSprawdź, czy kaniula została prawidłowo włożona i wymień swój Pod, jeśli czujesz, że nie.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nNaciśnij <b>Następny</b> w celu odłączenia Poda.\n\n<b>Uwaga:</b> To spowoduje zawieszenie wszystkich dostaw insuliny i dezaktywację Poda.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Odłączanie Poda</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod odłączony.\n\nProszę odkleić Pod od ciała i wyrzucić go.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_setup_reminder_reminder">Zakończ przypomnienie o konfiguracji</string>
<string name="omnipod_alert_shutdown_imminent">Wyłączenie jest nieuchronne</string>

View file

@ -2,23 +2,18 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Integração de bomba para Omnipod, requer RileyLink (com pelo menos firmware 2.0) dispositivo.</string>
<string name="omnipod_pump_description">Integração de bomba para Omnipod, requer RileyLink (com pelo menos firmware 2.0) dispositivo.</string>
<!-- Omnipod Configuration -->
<!-- Omnipod - Fragment -->
<string name="omnipod_total_delivered">%1$.2f U</string>
<string name="omnipod_reservoir_left">%1$.2f U restante</string>
<string name="omnipod_reservoir_over50">Mais de 50 U</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U restante</string>
<string name="omnipod_overview_reservoir_value_over50">Mais de 50 U</string>
<string name="omnipod_warning">Aviso</string>
<string name="omnipod_pod_status_running">A correr</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_operation_not_possible_no_configuration">A operação não é possível.\n\nPrecisa configurar o Omnipod primeiro, antes de pode usar esta operação.</string>
<string name="omnipod_error_illegal_init_action_type">PodInitActionType Ilegal: %1$s</string>
<string name="omnipod_error_setup_action_verification_failed">A verificação do comando falhou</string>
<string name="omnipod_error_invalid_parameters">Falha na comunicação: foram recebidos parâmetros de entrada inválidos</string>
<string name="omnipod_error_communication_failed_timeout">Falha na comunicação: tempo limite</string>
<string name="omnipod_error_communication_failed_unexpected_exception">Falha na comunicação: ocorreu um erro inesperado. Por favor, reporte!</string>
<string name="omnipod_error_crc_mismatch">Falha na comunicação: mensagem de falha de verificação de integridade</string>
<string name="omnipod_error_invalid_packet_type">Falha na comunicação: recebeu um pacote inválido do Pod</string>
<string name="omnipod_error_invalid_progress_state">Falha na comunicação: o Pod está em um estado errado</string>
@ -32,26 +27,21 @@
<string name="omnipod_error_pod_fault">Uma falha de Pod (%1$03d %2$s) foi detectada. Por favor, desactive o Pod e inicie um novo</string>
<string name="omnipod_error_pod_returned_error_response">Falha na comunicação: o Pod devolveu uma resposta de erro</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_button_init_pod">Iniciar Pod</string>
<string name="omnipod_cmd_deactivate_pod">Desactivar Pod</string>
<string name="omnipod_history_bolus_value">%1$.2f U</string>
<string name="omnipod_history_bolus_value_with_carbs">%1$.2f U, HC=%2$.1f g</string>
<string name="omnipod_history_history_not_available">Histórico do Pod não disponível no momento.</string>
<string name="omnipod_init_pod_wizard_step1_title">Encher o Pod</string>
<string name="omnipod_init_pod_wizard_step2_title">A Purgar</string>
<string name="omnipod_init_pod_wizard_step3_title">Anexar o Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPrepare o local de infusão. Remova a tampa da agulha do Pod e o adesivo e fixe o Pod no local de infusão.\n\nSe a canula sair, por favor, pressione <b>Cancelar</b> e descarte o seu Pod.\n\nPressione <b>Próximo</b> para inserir a canula e começar a administração da basal.</string>
<string name="omnipod_init_pod_wizard_step4_title">A inserir canula</string>
<string name="omnipod_init_pod_wizard_step4_action_header">A tentar definir um plano da basal inicial e inserir canula.\n\nQuando todos os itens estiverem verificados, pode pressionar <b>Próximo</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Info Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nO Pod está agora activo.\n\nO seu plano de basal foi programado e a canula foi inserida.\n\nPor favor, verifique se a canula foi inserida correctamente e substitua o seu Pod se você se sente que não.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Desactivar Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nPressione <b>Próximo</b> para desactivar o Pod.\n\n<b>Nota:</b> Isto irá suspender toda a administração de insulina e desactivar o Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">A Desactivar Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod desactivado.\n\nPor favor, remova o Pod do seu corpo e descarte-o.</string>
<string name="omnipod_init_pod_pair_pod">Emparelhar Pod</string>
<string name="omnipod_init_pod_prime_pod">Purgar Pod</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Desactivar Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Encher o Pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">A Purgar</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Anexar o Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPrepare o local de infusão. Remova a tampa da agulha do Pod e o adesivo e fixe o Pod no local de infusão.\n\nSe a canula sair, por favor, pressione <b>Cancelar</b> e descarte o seu Pod.\n\nPressione <b>Próximo</b> para inserir a canula e começar a administração da basal.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">A inserir canula</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">A tentar definir um plano da basal inicial e inserir canula.\n\nQuando todos os itens estiverem verificados, pode pressionar <b>Próximo</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Info Pod</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nO Pod está agora activo.\n\nO seu plano de basal foi programado e a canula foi inserida.\n\nPor favor, verifique se a canula foi inserida correctamente e substitua o seu Pod se você se sente que não.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Desactivar Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nPressione <b>Próximo</b> para desactivar o Pod.\n\n<b>Nota:</b> Isto irá suspender toda a administração de insulina e desactivar o Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">A Desactivar Pod</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod desactivado.\n\nPor favor, remova o Pod do seu corpo e descarte-o.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Lembrete Concluir Emparelhamento</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Lembrete Terminar Configuração</string>
@ -60,18 +50,14 @@
<string name="omnipod_alert_shutdown_imminent">Encerramento iminente</string>
<string name="omnipod_alert_low_reservoir">Reservatório baixo</string>
<string name="omnipod_alert_unknown_alert">Alerta desconhecido</string>
<string name="omnipod_button_riley_link_stats">Estatísticas RL</string>
<string name="omnipod_errors">Erros</string>
<string name="omnipod_confirmation_basal_profile_not_set_is_same">Perfil Basal é o mesmo, então não será definido novamente.</string>
<string name="omnipod_button_refresh">Actualizar</string>
<string name="omnipod_button_suspend_delivery">Suspender</string>
<string name="omnipod_error_uncertain_failure">Falha incerta</string>
<string name="omnipod_overview_button_riley_link_stats">Estatísticas RL</string>
<string name="omnipod_overview_errors">Erros</string>
<string name="omnipod_overview_button_refresh">Actualizar</string>
<string name="omnipod_overview_button_suspend_delivery">Suspender</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Outro</string>
<string name="omnipod_preference_category_alerts">Alertas</string>
<string name="omnipod_wizard_button_exit">Sair</string>
<string name="omnipod_wizard_button_previous">Anterior</string>
<string name="omnipod_wizard_button_next">Seguinte</string>
<string name="omnipod_change_pod_wizard_button_next">Seguinte</string>
<string name="omnipod_history_item_description">Descrição</string>
<string name="omnipod_history_item_source">Fonte</string>
<string name="omnipod_history_item_date">Data</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Integrare pompa pentru Omnipod, necesită dispozitivul RileyLink (cu versiune firmware de cel puțin 2.0).</string>
<string name="omnipod_pump_description">Integrare pompa pentru Omnipod, necesită dispozitivul RileyLink (cu versiune firmware de cel puțin 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Bip pentru Bolus activat</string>
<string name="omnipod_config_basal_beeps_enabled">Bip pentru Bazală activat</string>
@ -17,17 +17,17 @@
<string name="omnipod_config_low_reservoir_alert_units">Număr unități</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">Acum câteva momente</string>
<string name="omnipod_button_pod_management">Managementul POD-ului</string>
<string name="omnipod_pod_status">Statusul POD-ului</string>
<string name="omnipod_total_delivered_label">Total livrat</string>
<string name="omnipod_total_delivered">%1$.2f U</string>
<string name="omnipod_reservoir_left">%1$.2f U rămase</string>
<string name="omnipod_reservoir_over50">Peste 50 U</string>
<string name="omnipod_pod_address">Adresă Pod</string>
<string name="omnipod_pod_expiry">Pod-ul expiră</string>
<string name="omnipod_overview_button_pod_management">Managementul POD-ului</string>
<string name="omnipod_overview_pod_status">Statusul POD-ului</string>
<string name="omnipod_overview_total_delivered_value">Total livrat</string>
<string name="omnipod_overview_total_delivered">%1$.2f U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U rămase</string>
<string name="omnipod_overview_reservoir_value_over50">Peste 50 U</string>
<string name="omnipod_overview_pod_address">Adresă Pod</string>
<string name="omnipod_overview_pod_expiry_date">Pod-ul expiră</string>
<string name="omnipod_warning">Atenție</string>
<string name="omnipod_pod_status_no_active_pod">Niciun Pod activ</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Inițializarea este în curs (se așteaptă împerecherea și amorsarea)</string>
<string name="omnipod_pod_status_waiting_for_activation">Inițializarea este în curs (se așteaptă împerecherea și amorsarea)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Inițializarea este în curs (se așteaptă inserarea canulei)</string>
<string name="omnipod_pod_status_running">Rulează</string>
<string name="omnipod_pod_status_suspended">Suspendat</string>
@ -35,20 +35,14 @@
<string name="omnipod_pod_status_activation_time_exceeded">Timp de activare depăşit</string>
<string name="omnipod_pod_status_inactive">Inactiv</string>
<string name="omnipod_pod_status_pod_fault_description">Pod defect: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Alerte active Pod</string>
<string name="omnipod_button_acknowledge_active_alerts">Confirmare alerte</string>
<string name="omnipod_overview_pod_active_alerts">Alerte active Pod</string>
<string name="omnipod_overview_button_acknowledge_active_alerts">Confirmare alerte</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Adresa RileyLink invalidă.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Operațiunea nu este posibilă.\n\nTrebuie să configuraţi Omnipod înainte de a putea efectua această operațiune.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Operaţiunea nu este posibilă.\n\n Trebuie să aşteptaţi câteva minute până când AAPS încearcă să seteze profilul bazal pentru prima dată.</string>
<string name="omnipod_error_illegal_init_action_type">Acțiune PodInitActionType ilegala: %1$s</string>
<string name="omnipod_error_pod_not_attached">Niciun Pod activ</string>
<string name="omnipod_error_setup_action_verification_failed">Verificarea comenzii a eşuat</string>
<string name="omnipod_error_invalid_parameters">Comunicarea a eșuat: s-au primit parametri de intrare incorecți</string>
<string name="omnipod_error_communication_failed_timeout">Comunicarea a eșuat: timpul a expirat</string>
<string name="omnipod_error_communication_failed_unexpected_exception">Comunicarea a eşuat: a apărut o eroare neaşteptată. Vă rugăm să o raportaţi!</string>
<string name="omnipod_error_crc_mismatch">Comunicarea a eşuat: verificarea integrităţii mesajului a eşuat</string>
<string name="omnipod_error_invalid_packet_type">Comunicarea a eşuat: a fost primit un pachet invalid de la Pod</string>
<string name="omnipod_error_invalid_progress_state">Comunicarea a eșuat: Pod-ul este într-o stare incorectă</string>
@ -63,10 +57,9 @@
<string name="omnipod_error_pod_returned_error_response">Comunicarea a eșuat: Pod-ul a returnat un răspuns de eroare</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_management_title">Management Pod</string>
<string name="omnipod_button_init_pod">Inițializare Pod</string>
<string name="omnipod_cmd_deactivate_pod">Dezactivare Pod</string>
<string name="omnipod_cmd_discard_pod">Baandonare Pod</string>
<string name="omnipod_button_pod_history">Istoric Pod</string>
<string name="omnipod_pod_management_button_pod_history">Istoric Pod</string>
<string name="omnipod_cmd_set_bolus">Setează bolus</string>
<string name="omnipod_cmd_cancel_bolus">Anulează bolus</string>
<string name="omnipod_cmd_set_tbr">Setează bazala temporară</string>
@ -84,29 +77,22 @@
<string name="omnipod_history_bolus_value">%1$.2f U</string>
<string name="omnipod_history_bolus_value_with_carbs">%1$.2f U, CH=%2$.1f g</string>
<string name="omnipod_history_tbr_value">Rata: %1$.2f U, Durata: %2$d min</string>
<string name="omnipod_discard_pod_state_confirmation">Dacă apăsați <b>OK</b>, statusul Pod-ului va fi resetat forțat și nu veți mai putea comunica cu Pod-ul. Faceți acest lucru numai dacă nu mai se poate comunica deloc cu Pod-ul. Dacă se mai poate comunica cu Pod-ul, va rugam sa folosiți opțiunea <b>Dezactivare Pod</b>.\n\nDacă doriți să continuați, vă rugăm să vă asigurați, de asemenea, ca îndepărtați Pod-ul de pe corpul dvs.</string>
<string name="omnipod_history_history_not_available">Istoricul Pod-ului nu este disponibil momentan.</string>
<string name="omnipod_init_pod_wizard_step1_title">Umpleţi Pod-ul</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nUmpleți noul Pod cu suficientă insulină pentru 3 zile.\n\nAr trebui sa auziți două bipuri de la Pod în timpul procesului de umplere. Acestea indică faptul că, cantitatea minimă de 85U a fost introdusă. Asigurați-vă ca ați golit complet seringa de umplere, chiar și după ce ați auzit două bipuri.\n\nDupă umplerea Pod-ului, vă rugăm să apăsați <b>Următorul</b>.\n\n<b>Notă:</b> Nu scoateți capacul transparent al acului in acest moment.\n<b>Notă:</b> Va rugam sa puneți RileyLink în poziție verticala și plasați Pod-ul la o distanta de câțiva centimetri.</string>
<string name="omnipod_init_pod_wizard_step2_title">Amorsare</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Încercare de împerechere cu noul Pod și amorsare.\n\nAtunci când toate etapele sunt gata, puteți apăsa <b>Următorul</b>.\n\n<b>Notă:</b> Vă rugăm sa puneți RileyLInk in poziție verticala si sa plasați Pod-ul la câțiva centimetri distanta.</string>
<string name="omnipod_init_pod_wizard_step3_title">Atașați Pod-ul</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPregătiți setul de infuzie. Scoateți capacul acului și suport adeziv și atașați Pod-ul la locul de infuzie.\n\nDacă, canula pare in neregulă, apăsați <b>Anulare</b> și aruncați Pod-ul.\n\nApăsați <b>Următorul</b> pentru a introduce canula și a începe livrarea bazalei.</string>
<string name="omnipod_init_pod_wizard_step4_title">Inserare canulă</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Încercare de programare inițială a ratelor bazale si de insertie a canulei.\n\nCând toate elementele sunt gata, puteți apăsa <b>Următorul</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Informații Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nPod-ul este acum activ.\n\nRatele bazale au fost programate și canula a fost introdusă.\n\nVă rugăm să verificați că acul a fost introdus corect. Dacă considerați ca nu, înlocuiți Pod-ul.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Dezactivare Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nApăsați <b>Următorul</b> pentru a dezactiva Pod-ul.\n\n<b>Notă:</b> Acest lucru va suspenda orice livrare de insulină și va dezactiva Pod-ul.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Dezactivare Pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Dezactivare Pod.\n\nAtunci când toate elementele sunt gata, puteți apăsa <b>Următorul</b>.\n\n<b>Notă:</b> Dacă dezactivarea eșuează continuu, vă rugăm să apăsați <b>Anulează</b> și folosiți opțiunea <b>Resetare Pod</b> pentru a forța resetarea Pod-ului.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod dezactivat.\n\nScoateți Pod-ul și aruncați-l.</string>
<string name="omnipod_init_pod_pair_pod">Împerechere Pod</string>
<string name="omnipod_init_pod_prime_pod">Amorsare Pod</string>
<string name="omnipod_init_pod_fill_cannula">Umplere canulă</string>
<string name="omnipod_init_pod_set_basal_profile">Setare profil bazala</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Anulare livrare</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Dezactivare Pod</string>
<string name="omnipod_change_pod_wizard_discard_pod_confirmation">Dacă apăsați <b>OK</b>, statusul Pod-ului va fi resetat forțat și nu veți mai putea comunica cu Pod-ul. Faceți acest lucru numai dacă nu mai se poate comunica deloc cu Pod-ul. Dacă se mai poate comunica cu Pod-ul, va rugam sa folosiți opțiunea <b>Dezactivare Pod</b>.\n\nDacă doriți să continuați, vă rugăm să vă asigurați, de asemenea, ca îndepărtați Pod-ul de pe corpul dvs.</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Umpleţi Pod-ul</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nUmpleți noul Pod cu suficientă insulină pentru 3 zile.\n\nAr trebui sa auziți două bipuri de la Pod în timpul procesului de umplere. Acestea indică faptul că, cantitatea minimă de 85U a fost introdusă. Asigurați-vă ca ați golit complet seringa de umplere, chiar și după ce ați auzit două bipuri.\n\nDupă umplerea Pod-ului, vă rugăm să apăsați <b>Următorul</b>.\n\n<b>Notă:</b> Nu scoateți capacul transparent al acului in acest moment.\n<b>Notă:</b> Va rugam sa puneți RileyLink în poziție verticala și plasați Pod-ul la o distanta de câțiva centimetri.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Amorsare</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Încercare de împerechere cu noul Pod și amorsare.\n\nAtunci când toate etapele sunt gata, puteți apăsa <b>Următorul</b>.\n\n<b>Notă:</b> Vă rugăm sa puneți RileyLInk in poziție verticala si sa plasați Pod-ul la câțiva centimetri distanta.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Atașați Pod-ul</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPregătiți setul de infuzie. Scoateți capacul acului și suport adeziv și atașați Pod-ul la locul de infuzie.\n\nDacă, canula pare in neregulă, apăsați <b>Anulare</b> și aruncați Pod-ul.\n\nApăsați <b>Următorul</b> pentru a introduce canula și a începe livrarea bazalei.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Inserare canulă</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Încercare de programare inițială a ratelor bazale si de insertie a canulei.\n\nCând toate elementele sunt gata, puteți apăsa <b>Următorul</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Informații Pod</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nPod-ul este acum activ.\n\nRatele bazale au fost programate și canula a fost introdusă.\n\nVă rugăm să verificați că acul a fost introdus corect. Dacă considerați ca nu, înlocuiți Pod-ul.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Dezactivare Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nApăsați <b>Următorul</b> pentru a dezactiva Pod-ul.\n\n<b>Notă:</b> Acest lucru va suspenda orice livrare de insulină și va dezactiva Pod-ul.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Dezactivare Pod</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Dezactivare Pod.\n\nAtunci când toate elementele sunt gata, puteți apăsa <b>Următorul</b>.\n\n<b>Notă:</b> Dacă dezactivarea eșuează continuu, vă rugăm să apăsați <b>Anulează</b> și folosiți opțiunea <b>Resetare Pod</b> pentru a forța resetarea Pod-ului.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod dezactivat.\n\nScoateți Pod-ul și aruncați-l.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Notificare Finalizare împerechere</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Finalizare memento setare</string>
@ -124,29 +110,26 @@
<string name="omnipod_error_set_time_failed_delivery_suspended">Setarea timpului a eșuat. Livrarea este suspendată! Vă rugăm să reluați manual livrarea din secțiunea Omnipod.</string>
<string name="omnipod_error_bolus_failed_uncertain">Nu se poate verifica dacă bolusul a reuşit. Vă rugăm să verificați manual că Pod-ul poate bolusa ascultand click-urile. <b>Daca ești sigur ca bolus nu a reusit, ar trebui să stergi manual intrarea bolus din Tratamente, chiar dacă dai click pe \'Oprește bolus\' acum!</b></string>
<string name="omnipod_error_bolus_failed_uncertain_smb">Nu s-a putut verifica dacă bolusul SMB (%1$.2f U) a reușit. <b>Daca ești sigur ca bolusul nu a reușit, ar trebui să ștergi manual intrarea SMB din Tratamente.</b></string>
<string name="omnipod_button_riley_link_stats">Statistici RL</string>
<string name="omnipod_button_read_pulse_log">Jurnal Pulsuri</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Versiune firmware</string>
<string name="omnipod_errors">Erori</string>
<string name="omnipod_confirmation_basal_profile_not_set_is_same">Profilul bazal este la fel cu cel existent și nu va fi reincărcat.</string>
<string name="omnipod_overview_button_riley_link_stats">Statistici RL</string>
<string name="omnipod_overview_button_read_pulse_log">Jurnal Pulsuri</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Versiune firmware</string>
<string name="omnipod_overview_errors">Erori</string>
<string name="omnipod_custom_action_reset_rileylink">Resetează configurația RileyLink</string>
<string name="omnipod_confirmation_time_or_timezone_change">Schimbare oră și/sau fus orar în Pod</string>
<string name="omnipod_composite_time">%1$s și %2$s</string>
<string name="omnipod_time_ago">%1$s în urmă</string>
<string name="omnipod_waiting_for_rileylink_connection">Aşteptare conexiune RileyLink...</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Aşteptare conexiune RileyLink...</string>
<string name="omnipod_error_bolus_did_not_succeed">Bolusul nu a reușit</string>
<string name="omnipod_button_refresh">Actualizează</string>
<string name="omnipod_button_resume_delivery">Reluați livrarea</string>
<string name="omnipod_pod_suspended">Pod suspendat</string>
<string name="omnipod_overview_button_refresh">Actualizează</string>
<string name="omnipod_overview_button_resume_delivery">Reluați livrarea</string>
<string name="omnipod_confirmation_pod_suspended">Pod suspendat</string>
<string name="omnipod_less_than_a_minute_ago">Mai puțin de un minut în urmă</string>
<string name="omnipod_button_suspend_delivery">Suspendare</string>
<string name="omnipod_cmd_pair_and_prime">Împerechere și amorsare</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Umpleţi canula şi setaţi profilul bazal</string>
<string name="omnipod_overview_button_suspend_delivery">Suspendare</string>
<string name="omnipod_cmd_activate_pod">Împerechere și amorsare</string>
<string name="omnipod_cmd_insert_cannula">Umpleţi canula şi setaţi profilul bazal</string>
<string name="omnipod_cmd_read_pulse_log">Obțineți jurnalul pulsurilor</string>
<string name="omnipod_error_uncertain_failure">Eroare necunoscută</string>
<string name="omnipod_error_cancelled_old_tbr_failed_to_set_new">S-a anulat vechea bazală temporară, dar nu s-a putut seta o nouă bazală temporară</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Se setează o bazală temporară falsă deoarece Pod-ul este suspendat</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Anulează bazala temporară falsă creată pentru că Pod-ul a fost suspendat</string>
<string name="omnipod_uncertain">incert</string>
@ -155,10 +138,7 @@
<string name="omnipod_preference_category_other">Altele</string>
<string name="omnipod_preference_category_alerts">Alerte</string>
<string name="omnipod_preference_category_confirmation_beeps">Bip-uri de confirmare</string>
<string name="omnipod_wizard_button_exit">Ieșire</string>
<string name="omnipod_wizard_button_previous">Precedent</string>
<string name="omnipod_wizard_button_next">Următor</string>
<string name="omnipod_wizard_button_finish">Finalizare</string>
<string name="omnipod_change_pod_wizard_button_next">Următor</string>
<string name="omnipod_history_item_description">Descriere</string>
<string name="omnipod_history_item_source">Sursă</string>
<string name="omnipod_history_item_date">Data</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Для интеграции с помпой Omnipod требуется устройство RileyLink (с прошивкой 2.0 и выше).</string>
<string name="omnipod_pump_description">Для интеграции с помпой Omnipod требуется устройство RileyLink (с прошивкой 2.0 и выше).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Звуковой сигнал болюса включен</string>
<string name="omnipod_config_basal_beeps_enabled">Звуковой сигнал базала включен</string>
@ -17,17 +17,16 @@
<string name="omnipod_config_low_reservoir_alert_units">К-во единиц</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">Только что</string>
<string name="omnipod_pod_mgmt">Управление помпой</string>
<string name="omnipod_pod_status">Статус помпы</string>
<string name="omnipod_total_delivered_label">Всего подано</string>
<string name="omnipod_total_delivered">%1$.2f ед</string>
<string name="omnipod_reservoir_left">%1$.2f ед. осталось</string>
<string name="omnipod_reservoir_over50">Более 50 ед.</string>
<string name="omnipod_pod_address">Адрес Пода</string>
<string name="omnipod_pod_expiry">Срок Пода истекает</string>
<string name="omnipod_overview_pod_status">Статус помпы</string>
<string name="omnipod_overview_total_delivered">Всего подано</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f ед</string>
<string name="omnipod_overview_reservoir_value">%1$.2f ед. осталось</string>
<string name="omnipod_overview_reservoir_value_over50">Более 50 ед.</string>
<string name="omnipod_overview_pod_address">Адрес Пода</string>
<string name="omnipod_overview_pod_expiry_date">Срок Пода истекает</string>
<string name="omnipod_warning">Внимание</string>
<string name="omnipod_pod_status_no_active_pod">Активная помпа не выбрана</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Выполняется настройка (ожидание сопряжения и заполнения)</string>
<string name="omnipod_pod_status_waiting_for_activation">Выполняется настройка (ожидание сопряжения и заполнения)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Выполняется настройка (ожидание ввода катетера)</string>
<string name="omnipod_pod_status_running">Выполняется</string>
<string name="omnipod_pod_status_suspended">Приостановлено</string>
@ -35,39 +34,16 @@
<string name="omnipod_pod_status_activation_time_exceeded">Превышено время активации</string>
<string name="omnipod_pod_status_inactive">Неактивирован</string>
<string name="omnipod_pod_status_pod_fault_description">Ошибка Пода: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Активные оповещения помпы</string>
<string name="omnipod_acknowledge_active_alerts_short">Оповещения активны</string>
<string name="omnipod_overview_pod_active_alerts">Активные оповещения помпы</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 МГц)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Недопустимый адрес RileyLink.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Операция невозможна.\n\n Сначала нужно настроить помпу Omnipod.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Операция невозможна.\n\n Подождите несколько минут, пока AAPS пытается задать профиль.</string>
<string name="omnipod_error_illegal_init_action_type">Недопустимый тип инициализации: %1$s</string>
<string name="omnipod_error_pod_not_attached">Активная помпа не включена</string>
<string name="omnipod_driver_error_setup_action_verification_failed">Командная верификация не состоялась</string>
<string name="omnipod_driver_error_unexpected_exception_type">Произошла непредвиденная ошибка. Пожалуйста, сообщите об ошибке! (сообщить:: %1$s).</string>
<string name="omnipod_driver_error_invalid_parameters">Ошибка связи: недопустимые входные параметры</string>
<string name="omnipod_driver_error_communication_failed_timeout">Ошибка связи: время ожидания истекло</string>
<string name="omnipod_driver_error_communication_failed_unexpected_exception">Ошибка связи: возникла непредвиденная ошибка. Пожалуйста, сообщите!</string>
<string name="omnipod_driver_error_crc_mismatch">Ошибка связи: проверка целостности сообщения завершилась неудачно</string>
<string name="omnipod_driver_error_invalid_packet_type">Ошибка связи: получен недопустимый пакет от Pod</string>
<string name="omnipod_driver_error_invalid_progress_state">Ошибка связи: Pod находится в неверном состоянии</string>
<string name="omnipod_driver_error_invalid_response">Ошибка связи: недопустимый ответ от помпы</string>
<string name="omnipod_driver_error_invalid_message_sequence_number">Ошибка связи: получено сообщение с недопустимым порядковым номером от Pod</string>
<string name="omnipod_driver_error_invalid_message_address">Ошибка связи: получено сообщение с некорректным адресом от Pod</string>
<string name="omnipod_driver_error_message_decoding_failed">Ошибка связи: не удалось декодировать сообщение от Pod</string>
<string name="omnipod_driver_error_nonce_resync_failed">Ошибка связи: не удалось выполнить повторную синхронизацию nonce</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Ошибка соединения: вне синхронизации</string>
<string name="omnipod_driver_error_not_enough_data">Ошибка связи: недостаточно данных от Pod</string>
<string name="omnipod_driver_error_pod_fault">Обнаружена ошибка Pod (%1$03d %2$s). Деактивируйте Pod и запустите новый</string>
<string name="omnipod_driver_error_pod_returned_error_response">Ошибка связи: Pod ответил ошибкой</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Управление помпой Omnipod</string>
<string name="omnipod_cmd_init_pod">Инициализировать Pod</string>
<string name="omnipod_cmd_deactivate_pod">Деактивировать Pod</string>
<string name="omnipod_cmd_discard_pod">Выбросить помпу</string>
<string name="omnipod_cmd_pod_history">Журнал помпы</string>
<string name="omnipod_cmd_set_bolus">Настроить болюс</string>
<string name="omnipod_cmd_cancel_bolus">Отменить болюс</string>
<string name="omnipod_cmd_set_tbr">Установить временный базал</string>
@ -82,32 +58,21 @@
<string name="omnipod_cmd_suspend_delivery">Приостановить подачу</string>
<string name="omnipod_cmd_resume_delivery">Возобновить подачу</string>
<string name="omnipod_cmd_unknown_entry">Неизвестная запись</string>
<string name="omnipod_cmd_bolus_value">%1$.2f ед</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.2f ед, CH=%2$.1f г</string>
<string name="omnipod_cmd_tbr_value">Скорость: %1$.2f ед, Продолжительность: %2$d мин</string>
<string name="omnipod_cmd_discard_pod_desc">Если нажать <b>OK</b>, состояние помпы будет принудительно сброшено, и вы больше не сможете обмениваться командами с Pod. Сделайте это только в том случае, если вы не можете связаться с помпой. Если связь с Pod еще возможна, воспользуйтесь опцией <b>Деактивировать Pod</b>.\n\nЕсли хотите продолжить, также снимите помпу с тела.</string>
<string name="omnipod_cmd_pod_history_na">В настоящее время история помпы недоступна.</string>
<string name="omnipod_init_pod_wizard_step1_title">Заполнить Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nЗаполните новый Pod запасом инсулина на 3 дня.\n\nПоступят два звуковых сигнала от помпы во время заправки. Это означает, что минимальное количество 85U заправлено. Не забудьте опустошить заправочный шприц даже после того, как услышите два звуковых сигнала.\n\nПосле заполнения Pod нажмите <b>Next</b>.\n\n<b>Примечание:</b> Пока не снимайте с помпы колпачок с иглой.\n<b>Примечание:</b>поставьте RileyLink вертикально рядом с Pod.</string>
<string name="omnipod_init_pod_wizard_step2_title">Первичное заполнение инфузионной секции пода</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Попытка сопряжения с новым Podом и первичного заполнения инфузионного отсека..\n\n После проверки всех \'nfgjd можно нажать <b>Далее</b>.\n\n<b>Примечание:</b> В это время RileyLink должен находиться в вертикальном положении рядом с Pod.</string>
<string name="omnipod_init_pod_wizard_step3_title">Подключить Под</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nПодготовьте место инфузии. Удалите колпачок с иглы и защиту липкого слоя, Установите Pod на тело.\n\nесли канюля выступает, нажмите <b>отменить</b> и утилизируйте Pod.\n\Нажмите <b>Далее</b> чтобы вставить канюлю и начать подачу базала.</string>
<string name="omnipod_init_pod_wizard_step4_title">Установка канюли (катетера) </string>
<string name="omnipod_init_pod_wizard_step4_action_header">Определение графика подачи базала и установка канюли. \n\n Когда проверены все шаги, нажмите <b>Далее</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Информация о Pod</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nПомпа сейчас активна.\n\nБазальный график запрограммирован и катетер установлен.\n\nУбедитесь в том, что канюля установлена правильно и замените Pod, если такой уверенности нет.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Деактивировать Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nНажмите <b>Далее</b> для деактивации Пода\n\n<b>Примечание:</b> Это Приостановит всякую подачу инсулина и деактивирует помпу.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Деактивация помпы</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Деактивация помпы.\n\n, Когда проверены все элементы, нажмите <b>Далее</b>.\n\n<b>Примечание:</b> Если деактивация постоянно завершается ошибкой, нажмите <b>Отменить</b> и примените <b>Сброс помпы</b> чтобы принудительно сбросить состояние Pod\'a.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod деактивирован.\n\nУдалите и утилизируйте Pod.</string>
<string name="omnipod_init_pod_pair_pod">Сопряжение Pod</string>
<string name="omnipod_init_pod_prime_pod">Заполнение инфузионной секции Pod\'a</string>
<string name="omnipod_init_pod_fill_cannula">Заполнение катетера</string>
<string name="omnipod_init_pod_set_basal_profile">Установка базального профиля</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Отмена подачи инсулина</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Деактивировать Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Заполнить Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nЗаполните новый Pod запасом инсулина на 3 дня.\n\nПоступят два звуковых сигнала от помпы во время заправки. Это означает, что минимальное количество 85U заправлено. Не забудьте опустошить заправочный шприц даже после того, как услышите два звуковых сигнала.\n\nПосле заполнения Pod нажмите <b>Next</b>.\n\n<b>Примечание:</b> Пока не снимайте с помпы колпачок с иглой.\n<b>Примечание:</b>поставьте RileyLink вертикально рядом с Pod.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Первичное заполнение инфузионной секции пода</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Попытка сопряжения с новым Podом и первичного заполнения инфузионного отсека..\n\n После проверки всех \'nfgjd можно нажать <b>Далее</b>.\n\n<b>Примечание:</b> В это время RileyLink должен находиться в вертикальном положении рядом с Pod.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Подключить Под</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nПодготовьте место инфузии. Удалите колпачок с иглы и защиту липкого слоя, Установите Pod на тело.\n\nесли канюля выступает, нажмите <b>отменить</b> и утилизируйте Pod.\n\Нажмите <b>Далее</b> чтобы вставить канюлю и начать подачу базала.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Установка канюли (катетера) </string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Определение графика подачи базала и установка канюли. \n\n Когда проверены все шаги, нажмите <b>Далее</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Информация о Pod</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nПомпа сейчас активна.\n\nБазальный график запрограммирован и катетер установлен.\n\nУбедитесь в том, что канюля установлена правильно и замените Pod, если такой уверенности нет.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Деактивировать Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nНажмите <b>Далее</b> для деактивации Пода\n\n<b>Примечание:</b> Это Приостановит всякую подачу инсулина и деактивирует помпу.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Деактивация помпы</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Деактивация помпы.\n\n, Когда проверены все элементы, нажмите <b>Далее</b>.\n\n<b>Примечание:</b> Если деактивация постоянно завершается ошибкой, нажмите <b>Отменить</b> и примените <b>Сброс помпы</b> чтобы принудительно сбросить состояние Pod\'a.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod деактивирован.\n\nУдалите и утилизируйте Pod.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Напоминание о завершении сопряжения</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Напоминание о завершении настройки</string>
@ -123,43 +88,25 @@
<string name="omnipod_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Не удалось задать временный базал. Если ранее был запущен временный базал, он мог быть отменен. Обновите вручную состояние Pod на вкладке Omnipod.</string>
<string name="omnipod_error_set_time_failed_delivery_might_be_suspended">Возможно, не удалось задать время. Подача инсулина может быть приостановлена! Обновите вручную состояние Pod на вкладке Omnipod и при необходимости возобновите подачу.</string>
<string name="omnipod_error_set_time_failed_delivery_suspended">Не удалось задать время. Подача инсулина приостановлена! Вручную возобновите подачу с вкладки Omnipod.</string>
<string name="omnipod_bolus_failed_uncertain">Не удалось проверить, подан ли болюс. Проверьте, издаются ли звуки подачи болюса. <b>Если вы уверены, что болюс не подан, следует вручную удалить запись болюса из Treatments, даже если вы нажмете \'Cancel bolus\' сейчас!</b></string>
<string name="omnipod_bolus_failed_uncertain_smb">Не удалось проверить, успешно ли выполнен микроболюс SMB (%1$.2f ед). <b>Если вы уверены, что болюс не подан, следует вручную удалить запись SMB из Treatments.</b></string>
<string name="omnipod_rl_stats">Статистика RL</string>
<string name="omnipod_read_pulse_log_short">Журнал Pulse</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Версия прошивки</string>
<string name="omnipod_errors">ошибки</string>
<string name="omnipod_cmd_basal_profile_not_set_is_same">Базовый профиль идентичен, он не будет задан повторно.</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Версия прошивки</string>
<string name="omnipod_overview_errors">ошибки</string>
<string name="omnipod_custom_action_reset_rileylink">Сбросить конфигурацию RileyLink</string>
<string name="omnipod_time_or_timezone_change">Время и/или часовой пояс изменены на Pod</string>
<string name="omnipod_composite_time">%1$s и %2$s</string>
<string name="omnipod_time_ago">%1$s назад</string>
<string name="omnipod_waiting_for_rileylink_connection">Ожидание соединения RileyLink...</string>
<string name="omnipod_bolus_did_not_succeed">Болюс не подан</string>
<string name="omnipod_refresh">Обновить</string>
<string name="omnipod_resume_delivery">Возобновить подачу</string>
<string name="omnipod_error_pod_suspended">Omnipod остановлен</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Ожидание соединения RileyLink...</string>
<string name="omnipod_less_than_a_minute_ago">Менее минуты назад</string>
<string name="omnipod_suspend_delivery_short">Останов</string>
<string name="omnipod_cmd_pair_and_prime">Выполнить сопряжение и заполнить</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Заполнить катетер и установить базовый профиль</string>
<string name="omnipod_cmd_get_pulse_log">Получить журнал импульсов</string>
<string name="omnipod_uncertain_failure">Неизвестная ошибка</string>
<string name="omnipod_cancelled_old_tbr_failed_to_set_new">Старый временный базал отменен, но не удалось установить новый</string>
<string name="omnipod_cmd_activate_pod">Выполнить сопряжение и заполнить</string>
<string name="omnipod_cmd_insert_cannula">Заполнить катетер и установить базовый профиль</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Установить фейковый временный базал, так как Pod остановлен</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Отменить фейковый временный базал, который был создан из-за приостановки действия Pod</string>
<string name="omnipod_uncertain">не подтверждено</string>
<string name="omnipod_expiration_alerts_updated">Конфигурация оповещений обновлена в Pod</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Другое</string>
<string name="omnipod_preference_category_alerts">Оповещения</string>
<string name="omnipod_preference_category_confirmation_beeps">Звуковые сигналы подтверждения</string>
<string name="omnipod_wizard_button_exit">Выход</string>
<string name="omnipod_wizard_button_previous">Предыдущие</string>
<string name="omnipod_wizard_button_next">Далее</string>
<string name="omnipod_wizard_button_finish">Завершить</string>
<string name="omnipod_change_pod_wizard_button_next">Далее</string>
<string name="omnipod_history_item_description">Описание</string>
<string name="omnipod_history_item_source">Источник</string>
<string name="omnipod_history_item_date">дата</string>

View file

@ -2,7 +2,7 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Integrácia pumpy pre Omnipod, vyžaduje zariadenie RileyLink (s firmwarom aspoň 2.0).</string>
<string name="omnipod_pump_description">Integrácia pumpy pre Omnipod, vyžaduje zariadenie RileyLink (s firmwarom aspoň 2.0).</string>
<!-- Omnipod Configuration -->
<string name="omnipod_config_bolus_beeps_enabled">Pípnutie pri boluse povolené</string>
<string name="omnipod_config_basal_beeps_enabled">Pípnutie pri bazále povolené</string>
@ -17,17 +17,16 @@
<string name="omnipod_config_low_reservoir_alert_units">Počet jednotiek</string>
<!-- Omnipod - Fragment -->
<string name="omnipod_moments_ago">Pred chvíľou</string>
<string name="omnipod_pod_mgmt">Správa Podu</string>
<string name="omnipod_pod_status">Stav Podu</string>
<string name="omnipod_total_delivered_label">Celkovo podané</string>
<string name="omnipod_total_delivered">%1$.2f JI</string>
<string name="omnipod_reservoir_left">Zostáva %1$.2f JI</string>
<string name="omnipod_reservoir_over50">Viac ako 50 JI</string>
<string name="omnipod_pod_address">Adresa Podu</string>
<string name="omnipod_pod_expiry">Expirácia Podu</string>
<string name="omnipod_overview_pod_status">Stav Podu</string>
<string name="omnipod_overview_total_delivered">Celkovo podané</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f JI</string>
<string name="omnipod_overview_reservoir_value">Zostáva %1$.2f JI</string>
<string name="omnipod_overview_reservoir_value_over50">Viac ako 50 JI</string>
<string name="omnipod_overview_pod_address">Adresa Podu</string>
<string name="omnipod_overview_pod_expiry_date">Expirácia Podu</string>
<string name="omnipod_warning">Upozornenie</string>
<string name="omnipod_pod_status_no_active_pod">Žiadny aktívny Pod</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Inštalácia prebieha (čakanie na párovanie a plnenie)</string>
<string name="omnipod_pod_status_waiting_for_activation">Inštalácia prebieha (čakanie na párovanie a plnenie)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Inštalácia prebieha (čaká sa na vloženie kanyly)</string>
<string name="omnipod_pod_status_running">V prevádzke</string>
<string name="omnipod_pod_status_suspended">Pozastavené</string>
@ -35,39 +34,16 @@
<string name="omnipod_pod_status_activation_time_exceeded">Bol prekročený čas aktivácie</string>
<string name="omnipod_pod_status_inactive">Neaktívny</string>
<string name="omnipod_pod_status_pod_fault_description">Chyba Podu: %1$s %2$s</string>
<string name="omnipod_pod_active_alerts">Výstrahy aktívneho Podu</string>
<string name="omnipod_acknowledge_active_alerts_short">Potvrdiť upozornenie</string>
<string name="omnipod_overview_pod_active_alerts">Výstrahy aktívneho Podu</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433,91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_rileylink_address_invalid">Neplatná adresa RileyLinku.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Operácia nie je možná.\n\nNajskôr je nutné nakonfigurovať Omnipod, kým bude možné túto funkciu použiť.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Operácia nie je možná.\n\n Je potrebné niekoľko minút počkať, pokiaľ sa AAPS nepokúsi prvý krát nastaviť bazálny profil.</string>
<string name="omnipod_error_illegal_init_action_type">Neplatný atribút PodInitActionType: %1$s</string>
<string name="omnipod_error_pod_not_attached">Žiadny aktívny Pod</string>
<string name="omnipod_driver_error_setup_action_verification_failed">Overenie príkazu zlyhalo</string>
<string name="omnipod_driver_error_unexpected_exception_type">Došlo k neočakávanej chybe. Nahláste ju! (typ: %1$s).</string>
<string name="omnipod_driver_error_invalid_parameters">Komunikácia zlyhala: boli prijaté neplatné vstupné parametre</string>
<string name="omnipod_driver_error_communication_failed_timeout">Komunikácia zlyhala: časový limit vypršal</string>
<string name="omnipod_driver_error_communication_failed_unexpected_exception">Komunikácia zlyhala: vyskytla sa neočakávaná chyba. Prosím, nahláste to!</string>
<string name="omnipod_driver_error_crc_mismatch">Komunikácia zlyhala: overenie integrity správy zlyhalo</string>
<string name="omnipod_driver_error_invalid_packet_type">Komunikácia zlyhala: boli prijaté neplatné pakety z Podu</string>
<string name="omnipod_driver_error_invalid_progress_state">Komunikácia zlyhala: Pod je v chybnom stave</string>
<string name="omnipod_driver_error_invalid_response">Komunikácia zlyhala: bola prijatá neplatná odozva z Podu</string>
<string name="omnipod_driver_error_invalid_message_sequence_number">Komunikácia zlyhala: bola prijatá správa s neplatným poradovým číslom z Podu</string>
<string name="omnipod_driver_error_invalid_message_address">Komunikácia zlyhala: bola prijatá správa s neplatnou adresou z Podu</string>
<string name="omnipod_driver_error_message_decoding_failed">Komunikácia zlyhala: nepodarilo se dekódovať správu z Podu</string>
<string name="omnipod_driver_error_nonce_resync_failed">Komunikácia zlyhala: opakovaná synchronizácia Nonce hodnoty zlyhala</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Komunikácia zlyhala: hodnota Nonce nebola synchronizovaná</string>
<string name="omnipod_driver_error_not_enough_data">Komunikácia zlyhala: nedostatok dát prijatých z Podu</string>
<string name="omnipod_driver_error_pod_fault">Bola zistená chyba Podu (%1$03d %2$s). Deaktivujte Pod a spustite nový</string>
<string name="omnipod_driver_error_pod_returned_error_response">Komunikácia zlyhala: Pod vrátil chybovú odozvu</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Správa Podu</string>
<string name="omnipod_cmd_init_pod">Inicializovať Pod</string>
<string name="omnipod_cmd_deactivate_pod">Deaktivovať Pod</string>
<string name="omnipod_cmd_discard_pod">Vyradiť Pod</string>
<string name="omnipod_cmd_pod_history">História Podu</string>
<string name="omnipod_cmd_set_bolus">Nastaviť bolus</string>
<string name="omnipod_cmd_cancel_bolus">Zrušiť bolus</string>
<string name="omnipod_cmd_set_tbr">Nastaviť dočasný bazál</string>
@ -82,32 +58,21 @@
<string name="omnipod_cmd_suspend_delivery">Pozastaviť dodávanie inzulínu</string>
<string name="omnipod_cmd_resume_delivery">Pokračovať v dodávaní inzulínu</string>
<string name="omnipod_cmd_unknown_entry">Neznáma položka</string>
<string name="omnipod_cmd_bolus_value">%1$.2f JI</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.2f JI, CH=%2$.1f g</string>
<string name="omnipod_cmd_tbr_value">Rýchlosť: %1$.2f JI, Doba trvania: %2$d min</string>
<string name="omnipod_cmd_discard_pod_desc">Keď stlačíte <b>OK</b>, bude pripojenie na Pod nútene prerušené a nebudete sa môcť k nemu už viac pripojiť. Urob tak iba vtedy, ak AAPS nemôže viac komunikovať s Podom. Ak stále môžete komunikovať s Podom, prosím použite možnosť <b>Deaktivovať Pod</b>.\n\nPokiaľ chcete pokračovať, uistite sa, že je Pod odstránený z tela.</string>
<string name="omnipod_cmd_pod_history_na">História Podu momentálne nie je dostupná.</string>
<string name="omnipod_init_pod_wizard_step1_title">Naplňte Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nNaplňte nový Pod dostatočným množstvom inzulínu na 3 dni.\n\nSledujte dve pípnutia z Podu v priebehu procesu plnenia. Tieto ukazujú, že minimálne množstvo 85JI bolo naplnené. Uistite sa, že striekačka je úplne vyprázdnená a to i po vypočutí dvoch pípnutí.\n\nPo naplnení Podu, prosím, stlačte <b>Další</b>.\n\n<b>Poznámka:</b> zatiaľ nedávajte dole kryt ihly.\n<b>Poznámka:</b>prosím umiestnite RileyLink vo zvislej pozícii blízko Podu.</string>
<string name="omnipod_init_pod_wizard_step2_title">Plnenie</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Pokúste sa spárovať s novým Podom a naplňte ho.\n\nKeď sú všetky položky zaškrtnuté, môžete stlačiť <b>Ďalej</b>.\n\n<b>Poznámka:</b> prosím držte teraz Pod veľmi blízko RileyLinku.</string>
<string name="omnipod_init_pod_wizard_step3_title">Pripevni Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPripravte infúzny set. Odstráňte krytku ihly na Pode a ochranu samolepky a pripojte Pod k infúznemu setu. \n\nAk sa kanyla odlepí, prosím stlačte <b>Zrušiť</b> a zahoďte Váš Pod.\n\nStlačte <b>Ďalšia</b> na zavedenie kanyly a začiatok podávania bazálu.</string>
<string name="omnipod_init_pod_wizard_step4_title">Zavedenie kanyly</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Pokúšam sa nastaviť počiatočnú bazálnu dávku a zaviesť kanylu.\n\nAk sú všetky položky označené, môžete stlačiť <b>Ďalší</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Informácie o Pode</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nPod je teraz aktívny.\n\nVaša bazálna dávka je nastavená a kanyla bola zavedená.\n\nProsím skontrolujte, či bola kanyla zavedená správne a ak máte pocit, že nie, tak vymeňte Pod.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Deaktivovať Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nStlačte <b>Ďalej</b> pre deaktiváciu Podu.\n\n<b>Poznámka:</b> Toto preruší celkovo podávanie inzulínu a deaktivuje Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Deaktivácia Podu</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Deaktivujem Pod.\n\nKeď sú všetky položky zaškrtnuté, môžete stlačiť <b>Ďalej</b>.\n\n<b>Poznámka:</b> Ak deaktivácia neustále zlyháva, stlačte prosím <b>Zrušiť</b> a použite možnosť <b>Resetovať Pod</b>, na nútené obnovenie stavu Podu.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod deaktivovaný.\n\nProsím odstráňte Pod z Vášho tela a zlikvidujte ho.</string>
<string name="omnipod_init_pod_pair_pod">Spárujte Pod</string>
<string name="omnipod_init_pod_prime_pod">Naplňte Pod</string>
<string name="omnipod_init_pod_fill_cannula">Naplňte kanylu</string>
<string name="omnipod_init_pod_set_basal_profile">Nastavte bazálny profil</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Zrušte podávanie</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Deaktivujte Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Naplňte Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">\nNaplňte nový Pod dostatočným množstvom inzulínu na 3 dni.\n\nSledujte dve pípnutia z Podu v priebehu procesu plnenia. Tieto ukazujú, že minimálne množstvo 85JI bolo naplnené. Uistite sa, že striekačka je úplne vyprázdnená a to i po vypočutí dvoch pípnutí.\n\nPo naplnení Podu, prosím, stlačte <b>Další</b>.\n\n<b>Poznámka:</b> zatiaľ nedávajte dole kryt ihly.\n<b>Poznámka:</b>prosím umiestnite RileyLink vo zvislej pozícii blízko Podu.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Plnenie</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Pokúste sa spárovať s novým Podom a naplňte ho.\n\nKeď sú všetky položky zaškrtnuté, môžete stlačiť <b>Ďalej</b>.\n\n<b>Poznámka:</b> prosím držte teraz Pod veľmi blízko RileyLinku.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Pripevni Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nPripravte infúzny set. Odstráňte krytku ihly na Pode a ochranu samolepky a pripojte Pod k infúznemu setu. \n\nAk sa kanyla odlepí, prosím stlačte <b>Zrušiť</b> a zahoďte Váš Pod.\n\nStlačte <b>Ďalšia</b> na zavedenie kanyly a začiatok podávania bazálu.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Zavedenie kanyly</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Pokúšam sa nastaviť počiatočnú bazálnu dávku a zaviesť kanylu.\n\nAk sú všetky položky označené, môžete stlačiť <b>Ďalší</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Informácie o Pode</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nPod je teraz aktívny.\n\nVaša bazálna dávka je nastavená a kanyla bola zavedená.\n\nProsím skontrolujte, či bola kanyla zavedená správne a ak máte pocit, že nie, tak vymeňte Pod.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Deaktivovať Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nStlačte <b>Ďalej</b> pre deaktiváciu Podu.\n\n<b>Poznámka:</b> Toto preruší celkovo podávanie inzulínu a deaktivuje Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Deaktivácia Podu</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Deaktivujem Pod.\n\nKeď sú všetky položky zaškrtnuté, môžete stlačiť <b>Ďalej</b>.\n\n<b>Poznámka:</b> Ak deaktivácia neustále zlyháva, stlačte prosím <b>Zrušiť</b> a použite možnosť <b>Resetovať Pod</b>, na nútené obnovenie stavu Podu.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod deaktivovaný.\n\nProsím odstráňte Pod z Vášho tela a zlikvidujte ho.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_pairing_reminder">Pripomienka ukončenia párovania</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Pripomienka ukončenia nastavenia</string>
@ -123,43 +88,25 @@
<string name="omnipod_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Nastavenie dočasného bazálu zlyhalo. Ak bol predtým spustený dočasný bazál, mohol byť zrušený. Manuálne obnovte stav Podu zo záložky Omnipod.</string>
<string name="omnipod_error_set_time_failed_delivery_might_be_suspended">Nastavenie času, pravdepodobne zlyhalo. Podávanie môže byť pozastavené! Manuálne obnovte stav Podu zo záložky Omnipod a pokračujte v podávaní, ak je to potrebné.</string>
<string name="omnipod_error_set_time_failed_delivery_suspended">Nastavenie času zlyhalo. Podávanie je pozastavené! Manuálne obnovte podávanie zo záložky Omnipod.</string>
<string name="omnipod_bolus_failed_uncertain">Nedá sa overiť, či bol bolus úspešný. Prosím manuálne overte, či Váš Pod podáva bolus počúvaním klikania. <b>Ak ste si istý, že bolus nebol úspešný, mali by ste ručne odstrániť záznam o boluse z ošetrení, aj keď kliknete na \'Zrušiť bolus\' teraz!</b></string>
<string name="omnipod_bolus_failed_uncertain_smb">Nedá sa overiť, či bol bolus SMB (%1$.2f JI) úspešný. <b>Ak ste si istí, že bolus nebol úspešný, mali by ste ručne vymazať záznam SMB z ošetrení.</b></string>
<string name="omnipod_rl_stats">Štatistiky RL</string>
<string name="omnipod_read_pulse_log_short">Pulse Log</string>
<string name="omnipod_pod_lot">LOT</string>
<string name="omnipod_pod_tid">TID</string>
<string name="omnipod_pod_firmware_version">Verzia firmvéru</string>
<string name="omnipod_errors">Chyby</string>
<string name="omnipod_cmd_basal_profile_not_set_is_same">Bazálny profil je rovnaký, takže nebude znovu nastavený.</string>
<string name="omnipod_lot">LOT</string>
<string name="omnipod_tid">TID</string>
<string name="omnipod_overview_firmware_version">Verzia firmvéru</string>
<string name="omnipod_overview_errors">Chyby</string>
<string name="omnipod_custom_action_reset_rileylink">Resetovať konfiguráciu RileyLinku</string>
<string name="omnipod_time_or_timezone_change">Zmena času a/alebo časovej zóny na Pode</string>
<string name="omnipod_composite_time">%1$s a %2$s</string>
<string name="omnipod_time_ago">pred %1$s min</string>
<string name="omnipod_waiting_for_rileylink_connection">Čaká sa na pripojenie RileyLinku...</string>
<string name="omnipod_bolus_did_not_succeed">Bolus nebol úspešný</string>
<string name="omnipod_refresh">Aktualizovať</string>
<string name="omnipod_resume_delivery">Pokračovať v podávaní inzulínu</string>
<string name="omnipod_error_pod_suspended">Pod pozastavený</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Čaká sa na pripojenie RileyLinku...</string>
<string name="omnipod_less_than_a_minute_ago">Pred menej ako minútou</string>
<string name="omnipod_suspend_delivery_short">Pozastavenia</string>
<string name="omnipod_cmd_pair_and_prime">Spáruj a naplň</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Naplňte kanylu a nastavte bazálny profil</string>
<string name="omnipod_cmd_get_pulse_log">Získaj pulse log</string>
<string name="omnipod_uncertain_failure">Neznáma chyba</string>
<string name="omnipod_cancelled_old_tbr_failed_to_set_new">Bol zrušený starý dočasný bazál, ale nový dočasný bazál sa nepodarilo nastaviť</string>
<string name="omnipod_cmd_activate_pod">Spáruj a naplň</string>
<string name="omnipod_cmd_insert_cannula">Naplňte kanylu a nastavte bazálny profil</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Nastaviť falošný dočasný bazál, pretože Pod je pozastavený</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Zrušiť falošný dočasný bazál ktorý bol vytvorený, pretože Pod bol pozastavený</string>
<string name="omnipod_uncertain">neznáme</string>
<string name="omnipod_expiration_alerts_updated">Nastavenie výstrahy bolo v Pode aktualizované</string>
<string name="omnipod_preference_category_rileylink">RileyLink</string>
<string name="omnipod_preference_category_other">Iné</string>
<string name="omnipod_preference_category_alerts">Výstrahy</string>
<string name="omnipod_preference_category_confirmation_beeps">Potvrdzujúce pípnutie</string>
<string name="omnipod_wizard_button_exit">Ukončiť</string>
<string name="omnipod_wizard_button_previous">Predošlá</string>
<string name="omnipod_wizard_button_next">Ďalšia</string>
<string name="omnipod_wizard_button_finish">Dokončiť</string>
<string name="omnipod_change_pod_wizard_button_next">Ďalšia</string>
<string name="omnipod_history_item_description">Popis</string>
<string name="omnipod_history_item_source">Zdroj</string>
<string name="omnipod_history_item_date">Dátum</string>

View file

@ -2,32 +2,26 @@
<resources>
<!-- Omnipod -->
<!-- Omnipod - Base -->
<string name="description_pump_omnipod">Pumpintegrering för Omnipod. Kräver Riley Link med minst v2-firmware.</string>
<string name="omnipod_pump_description">Pumpintegrering för Omnipod. Kräver Riley Link med minst v2-firmware.</string>
<!-- Omnipod Configuration -->
<!-- Omnipod - Fragment -->
<string name="omnipod_reservoir_left">%1$.2f U återstår</string>
<string name="omnipod_reservoir_over50">Över 50 U</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U återstår</string>
<string name="omnipod_overview_reservoir_value_over50">Över 50 U</string>
<!-- Omnipod - Dialogs -->
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<!-- Omnipod - Error -->
<string name="omnipod_error_illegal_init_action_type">Ogiltig PodInitActionType: %1$s</string>
<string name="omnipod_error_communication_failed_unexpected_exception">Kommunikationsfel: Ett oväntat fel inträffade. Rapportera!</string>
<!-- Omnipod - Pod Mgmt -->
<string name="omnipod_button_init_pod">Initiera pod</string>
<string name="omnipod_cmd_deactivate_pod">Inaktivera pod</string>
<string name="omnipod_history_history_not_available">Pod-historik är inte tillgänglig för tillfället.</string>
<string name="omnipod_init_pod_wizard_step1_title">Fyll pod</string>
<string name="omnipod_init_pod_wizard_step2_title">Förfyllning</string>
<string name="omnipod_init_pod_wizard_step3_title">Fäst podden</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nFörbered infusionsplatsen. Ta bort poddens nålskydd och fäst podden på infusionsplatsen.\n\nOm kanylen sticker ut, tryck på <b>Avbryt</b> och kasta din pod.\n\nTryck <b>Nästa</b> för att skjuta in kanylen och påbörja basaldoseringen.</string>
<string name="omnipod_init_pod_wizard_step4_title">Skjuter in kanylen</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Försöker att ställa in basaldoser och skjuta in kanylen.\n\nNär alla steg är slutförda, kan du trycka på <b>Nästa</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nPodden är nu aktiverad.\n\nDina basaldoser har programmerats och kanylen har skjutits in in.\n\nKontrollera att kanylen sitter på rätt sätt och byt pod om den inte gjort det.</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nTryck på <b>Nästa</b> för att inaktivera podden.\n\n<b>OBS!</b> Det här stoppar all insulintillförsel och inaktiverar podden.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Inaktiverar pod</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod inaktiverad.\n\nTa bort podden och kasta den.</string>
<string name="omnipod_init_pod_pair_pod">Parkoppla pod</string>
<string name="omnipod_init_pod_prime_pod">Förfyll pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Fyll pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Förfyllning</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Fäst podden</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">\nFörbered infusionsplatsen. Ta bort poddens nålskydd och fäst podden på infusionsplatsen.\n\nOm kanylen sticker ut, tryck på <b>Avbryt</b> och kasta din pod.\n\nTryck <b>Nästa</b> för att skjuta in kanylen och påbörja basaldoseringen.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Skjuter in kanylen</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Försöker att ställa in basaldoser och skjuta in kanylen.\n\nNär alla steg är slutförda, kan du trycka på <b>Nästa</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">\nPodden är nu aktiverad.\n\nDina basaldoser har programmerats och kanylen har skjutits in in.\n\nKontrollera att kanylen sitter på rätt sätt och byt pod om den inte gjort det.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">\nTryck på <b>Nästa</b> för att inaktivera podden.\n\n<b>OBS!</b> Det här stoppar all insulintillförsel och inaktiverar podden.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Inaktiverar pod</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Pod inaktiverad.\n\nTa bort podden och kasta den.</string>
<!-- Omnipod - Base -->
<string name="omnipod_alert_finish_setup_reminder_reminder">Påminnelse att slutföra installation</string>
<string name="omnipod_alert_expiration">Pod löper snart ut</string>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black_overlay">#66000000</color>
<color name="ribbonWarning">#f4d700</color>
<color name="replacePodWizardProgressBar">#0099CC</color>
<color name="changePodWizardProgressBar">#0099CC</color>
<color name="review_green">#ff669900</color>
</resources>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="omnipod_change_pod_wizard_vertical_spacing">10dp</dimen>
</resources>

View file

@ -23,12 +23,12 @@
<string name="omnipod_name" translatable="false">Omnipod</string>
<string name="omnipod_name_short" translatable="false">Pod</string>
<string name="omnipod_frequency" translatable="false">Omnipod (433.91 MHz)</string>
<string name="omnipod_pod_lot" translatable="false">LOT</string>
<string name="omnipod_pod_tid" translatable="false">TID</string>
<string name="omnipod_pod_firmware_version_value" translatable="false">PM %1$s / PI %2$s</string>
<string name="omnipod_pod_time_with_timezone" translatable="false">%1$s (%2$s)</string>
<string name="omnipod_lot" translatable="false">LOT</string>
<string name="omnipod_tid" translatable="false">TID</string>
<string name="omnipod_firmware_version_value" translatable="false">PM %1$s / PI %2$s</string>
<string name="omnipod_time_with_timezone" translatable="false">%1$s (%2$s)</string>
<string name="omnipod_two_strings_concatenated_by_colon" translatable="false">%1$s: %2$s</string>
<string name="omnipod_last_bolus_value" translatable="false">%1$.2f %2$s (%3$s)</string>
<string name="omnipod_overview_last_bolus_value" translatable="false">%1$.2f %2$s (%3$s)</string>
<!-- Omnipod - Preferences -->
<string name="omnipod_config_bolus_beeps_enabled">Bolus beeps enabled</string>
@ -49,7 +49,7 @@
<!-- Omnipod - Pod Status -->
<string name="omnipod_pod_status_no_active_pod">No active Pod</string>
<string name="omnipod_pod_status_waiting_for_pair_and_prime">Setup in progress (waiting for pair and prime)</string>
<string name="omnipod_pod_status_waiting_for_activation">Setup in progress (waiting for Pod activation)</string>
<string name="omnipod_pod_status_waiting_for_cannula_insertion">Setup in progress (waiting for cannula insertion)</string>
<string name="omnipod_pod_status_running">Running</string>
<string name="omnipod_pod_status_suspended">Suspended</string>
@ -76,16 +76,12 @@
<string name="omnipod_history_bolus_value">%1$.2f U</string>
<string name="omnipod_history_bolus_value_with_carbs">%1$.2f U, CH=%2$.1f g</string>
<string name="omnipod_history_tbr_value">Rate: %1$.2f U, duration: %2$d minutes</string>
<string name="omnipod_history_history_not_available">Pod History not available at the moment.</string>
<!-- Omnipod - Error -->
<string name="omnipod_warning">Warning</string>
<string name="omnipod_error_rileylink_address_invalid">RileyLink address invalid.</string>
<string name="omnipod_error_operation_not_possible_no_configuration">Operation is not possible.\n\nYou need to configure Omnipod first, before you can use this operation.</string>
<string name="omnipod_error_operation_not_possible_no_profile">Operation is not possible.\n\n You need to wait a few minutes, until AAPS tries to set basal profile for first time.</string>
<string name="omnipod_error_illegal_init_action_type">Illegal PodInitActionType: %1$s</string>
<string name="omnipod_error_pod_not_attached">No active Pod</string>
<string name="omnipod_error_setup_action_verification_failed">Command verification failed</string>
<string name="omnipod_error_unexpected_exception">An unexpected error occurred. Please report! (%1$s: %2$s).</string>
<string name="omnipod_error_crc_mismatch">Communication failed: message integrity verification failed</string>
<string name="omnipod_error_invalid_packet_type">Communication failed: received an invalid packet from the Pod</string>
@ -107,14 +103,12 @@
<string name="omnipod_error_set_basal_failed_delivery_suspended">Setting basal profile failed. Delivery is suspended! Please manually resume delivery from the Omnipod tab.</string>
<string name="omnipod_error_set_basal_failed">Setting basal profile failed.</string>
<string name="omnipod_error_cancel_temp_basal_failed_uncertain">Cancelling temp basal might have failed. Please manually refresh the Pod status from the Omnipod tab.</string>
<string name="omnipod_error_suspend_delivery_failed_uncertain">Suspending delivery might have failed. Please manually refresh the Pod status from the Omnipod tab.</string>
<string name="omnipod_error_set_temp_basal_failed_old_tbr_might_be_cancelled">Setting temp basal failed. If a temp basal was previously running, it might have been cancelled. Please manually refresh the Pod status from the Omnipod tab.</string>
<string name="omnipod_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Setting temp might have basal failed. If a temp basal was previously running, it has been cancelled. Please manually refresh the Pod status from the Omnipod tab.</string>
<string name="omnipod_error_set_time_failed_delivery_might_be_suspended">Setting time might have failed. Delivery might be suspended! Please manually refresh the Pod status from the Omnipod tab and resume delivery if needed.</string>
<string name="omnipod_error_set_time_failed_delivery_suspended">Setting time failed. Delivery is suspended! Please manually resume delivery from the Omnipod tab.</string>
<string name="omnipod_error_failed_to_set_profile_empty_profile">Failed to set basal profile: received an empty profile. Make sure to activate your basal profile.</string>
<string name="omnipod_error_set_initial_basal_schedule_no_profile">No basal profile is active. Make sure to activate your basal profile.</string>
<string name="omnipod_error_uncertain_failure">Uncertain failure</string>
<string name="omnipod_error_unknown_custom_command">Unknown custom command: %1$s</string>
<string name="omnipod_error_failed_to_read_pulse_log">Failed to read Pulse Log</string>
<string name="omnipod_error_failed_to_refresh_status">Failed to refresh status</string>
@ -122,20 +116,23 @@
<string name="omnipod_error_failed_to_suspend_delivery">Failed to suspend delivery</string>
<string name="omnipod_error_failed_to_set_time">Failed to set time</string>
<string name="omnipod_error_failed_to_resume_delivery">Failed to resume delivery</string>
<string name="omnipod_error_automatic_time_or_timezone_change_failed">Failed to automatically change time and/or time zone on the Pod. You can manually synchronise the time on the Omnipod tab.</string>
<string name="omnipod_error_automatic_time_or_timezone_change_failed">Failed to automatically change time on the Pod. You should manually synchronise the time on the Omnipod tab.</string>
<string name="omnipod_error_bolus_failed_uncertain">Unable to verify whether the bolus succeeded. Please manually verify that your Pod is bolusing by listening to clicks. <b>If you are sure that the bolus didn\'t succeed, you should manually delete the bolus entry from Treatments, even if you click \'Cancel bolus\' now!</b></string>
<string name="omnipod_error_bolus_failed_uncertain_smb">Unable to verify whether SMB bolus (%1$.2f U) succeeded. <b>If you are sure that the Bolus didn\'t succeed, you should manually delete the SMB entry from Treatments.</b></string>
<string name="omnipod_error_bolus_did_not_succeed">Bolus did not succeed.</string>
<string name="omnipod_error_failed_to_activate_pod">Failed to activate the Pod</string>
<string name="omnipod_error_failed_to_insert_cannula">Failed to insert cannula</string>
<string name="omnipod_error_pod_fault_activation_time_exceeded">The Pod\'s activation time has been exceeded. This Pod can no longer be activated.</string>
<!-- Omnipod - Confirmation -->
<string name="omnipod_confirmation">Confirmation</string>
<string name="omnipod_confirmation_basal_profile_not_set_is_same">Basal profile is the same, so it will not be set again.</string>
<string name="omnipod_confirmation_time_or_timezone_change">Time and/or time zone changed on the Pod.</string>
<string name="omnipod_confirmation_expiration_alerts_updated">Alert configuration has been updated in the Pod.</string>
<string name="omnipod_confirmation_time_on_pod_updated">The time on the Pod has been updated.</string>
<string name="omnipod_confirmation_suspended_delivery">All insulin delivery has been suspended.</string>
<string name="omnipod_confirmation_acknowledged_alerts">Active alerts have been acknowledged.</string>
<string name="omnipod_confirmation_delivery_resumed">Insulin delivery has been resumed.</string>
<string name="omnipod_confirmation_pod_suspended">Pod suspended</string>
<!-- Omnipod - Commands -->
<string name="omnipod_cmd_deactivate_pod">Deactivate Pod</string>
@ -154,89 +151,91 @@
<string name="omnipod_cmd_suspend_delivery">Suspend delivery</string>
<string name="omnipod_cmd_resume_delivery">Resume delivery</string>
<string name="omnipod_cmd_unknown_entry">Unknown entry</string>
<string name="omnipod_cmd_pair_and_prime">Pair and prime</string>
<string name="omnipod_cmd_fill_cannula_set_basal_profile">Fill cannula and set basal profile</string>
<string name="omnipod_cmd_activate_pod">Activate new Pod</string>
<string name="omnipod_cmd_insert_cannula">Insert cannula</string>
<string name="omnipod_cmd_read_pulse_log">Read pulse log</string>
<string name="omnipod_cmd_set_fake_suspended_tbr">Set fake temporary basal because the Pod is suspended</string>
<string name="omnipod_cmd_cancel_fake_suspended_tbr">Cancel fake temporary basal that was created because the Pod was suspended</string>
<!-- Omnipod - Pod Activation / Deactivation Wizards -->
<string name="omnipod_init_pod_wizard_step1_title">Fill the Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nFill the new Pod with enough insulin for 3 days.\n\nListen for two beeps from the Pod during the filling process. These indicate that the minimum amount of 85U has been inserted. Be sure to completely empty the fill syringe, even after hearing the two beeps.\n\nAfter filling the Pod, please press <b>Next</b>.\n\n<b>Note:</b> do not remove the Pod\'s needle cap at this time.\n<b>Note:</b> please place the RileyLink in an upright position and place the Pod a few inches away.</string>
<string name="omnipod_init_pod_wizard_step2_title">Priming</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Trying to pair with the new Pod and prime it.\n\nWhen all items are checked, you can press <b>Next</b>.\n\n<b>Note:</b> please place the RileyLink in an upright position and place the Pod a few inches away from it.</string>
<string name="omnipod_init_pod_wizard_step3_title">Attach the Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPrepare the infusion site. Remove the Pod\'s needle cap and adhesive backing and attach the Pod to the infusion site.\n\nIf the cannula sticks out, please press <b>Cancel</b> and discard your Pod.\n\nPress <b>Next</b> to insert the cannula and begin basal delivery.</string>
<string name="omnipod_init_pod_wizard_step4_title">Inserting cannula</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Trying to set initial basal schedule and insert the cannula.\n\nWhen all items are checked, you can press <b>Next</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Pod info</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nThe Pod is now active.\n\nYour basal schedule has been programmed and the cannula has been inserted.\n\nPlease verify that the cannula has been inserted correctly and replace your Pod if you feel hasn\'t.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Deactivate Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nPress <b>Next</b> to deactivate the Pod.\n\n<b>Note:</b> This will suspend all insulin delivery and deactivate the Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Deactivating the Pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Deactivating the Pod.\n\nWhen all items are checked, you can press <b>Next</b>.\n\n<b>Note:</b> If deactivating continuously fails, please press <b>Cancel</b> and use the <b>Discard Pod</b> option to forcibly reset the Pod state.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod deactivated.\n\nPlease remove the Pod from your body and discard it.</string>
<string name="omnipod_init_pod_pair_pod">Pair Pod</string>
<string name="omnipod_init_pod_prime_pod">Prime Pod</string>
<string name="omnipod_init_pod_fill_cannula">Fill cannula</string>
<string name="omnipod_init_pod_set_basal_profile">Set basal profile</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Cancel delivery</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Deactivate Pod</string>
<string name="omnipod_wizard_button_exit">Exit</string>
<string name="omnipod_wizard_button_previous">Previous</string>
<string name="omnipod_wizard_button_next">Next</string>
<string name="omnipod_wizard_button_finish">Finish</string>
<!-- Omnipod - Pod Management -->
<string name="omnipod_pod_management_title">Pod management</string>
<string name="omnipod_pod_management_waiting_for_rileylink_connection">Waiting for RileyLink connection…</string>
<string name="omnipod_pod_management_button_change_pod">Change Pod</string>
<string name="omnipod_pod_management_button_discard_pod">Discard Pod</string>
<string name="omnipod_pod_management_button_pod_history">Pod history</string>
<string name="omnipod_pod_management_discard_pod_state_confirmation">If you discard the Pod, you will not be able to communicate with it anymore. You should only do this when all communication with the Pod persistently fails. If you can still communicate with the Pod, please use the <b>Change Pod</b> option.\n\nIf you wish to proceed, please make sure to remove the Pod from your body!</string>
<!-- Omnipod - Buttons -->
<string name="omnipod_button_init_pod">Init Pod</string>
<string name="omnipod_button_replace_pod">Replace Pod (NEW)</string>
<string name="omnipod_button_deactivate_pod">Deactivate Pod</string>
<string name="omnipod_button_discard_pod">Discard Pod</string>
<string name="omnipod_button_set_time">Set time</string>
<string name="omnipod_button_suspend_delivery">Suspend</string>
<string name="omnipod_button_riley_link_stats">RL stats</string>
<string name="omnipod_button_read_pulse_log">Pulse log</string>
<string name="omnipod_button_refresh">Refresh</string>
<string name="omnipod_button_resume_delivery">Resume delivery</string>
<string name="omnipod_button_pod_history">Pod history</string>
<string name="omnipod_button_pod_management">Pod mgmt</string>
<string name="omnipod_button_acknowledge_active_alerts">Ack alerts</string>
<!-- Omnipod - Change Pod wizard -->
<string name="omnipod_change_pod_wizard_button_cancel">Cancel</string>
<string name="omnipod_change_pod_wizard_button_finish">Finish</string>
<string name="omnipod_change_pod_wizard_button_next">Next</string>
<string name="omnipod_change_pod_wizard_button_retry">Retry</string>
<string name="omnipod_change_pod_wizard_button_deactivate_pod">Deactivate Pod</string>
<string name="omnipod_change_pod_wizard_button_discard_pod">Discard Pod</string>
<string name="omnipod_change_pod_wizard_exit_confirmation">You haven\'t finished changing your Pod yet. Are you sure you want to exit?</string>
<string name="omnipod_change_pod_wizard_change_pod">Change Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_title">Fill Pod</string>
<string name="omnipod_change_pod_wizard_fill_pod_text">Fill a new Pod with enough insulin for 3 days.\n\nListen for two beeps from the Pod during the filling process. These indicate that the minimum amount of 85U has been inserted. Be sure to completely empty the fill syringe, even after hearing the two beeps.\n\nAfter filling the Pod, please press <b>Next</b>.\n\n<b>Note:</b> do not remove the Pod\'s needle cap at this time.\n<b>Note:</b> please place the RileyLink in an upright position and place the Pod a few inches away from it.</string>
<string name="omnipod_change_pod_wizard_activate_pod_title">Activate Pod</string>
<string name="omnipod_change_pod_wizard_activate_pod_text">Trying to pair with the new Pod and prime it.\n\nWhen the activation process has successfully been completed, you can press <b>Next</b>.\n\n<b>Note:</b> please place the RileyLink in an upright position and place the Pod a few inches away from it.</string>
<string name="omnipod_change_pod_wizard_attach_pod_title">Attach Pod</string>
<string name="omnipod_change_pod_wizard_attach_pod_text">Prepare the infusion site. Remove the Pod\'s needle cap and adhesive backing and attach the Pod to the infusion site.\n\nIf the cannula sticks out, please press <b>Cancel</b> and discard your Pod.\n\nPress <b>Next</b> to insert the cannula and begin basal delivery.</string>
<string name="omnipod_change_pod_wizard_insert_cannula_title">Insert cannula</string>
<string name="omnipod_change_pod_wizard_insert_cannula_text">Trying to set initial basal schedule and insert the cannula.\n\nWhen the cannula has successfully been inserted, you can press <b>Next</b>.</string>
<string name="omnipod_change_pod_wizard_pod_changed_title">Pod changed</string>
<string name="omnipod_change_pod_wizard_pod_changed_text">The new Pod is now active.\n\nYour basal schedule has been programmed and the cannula has been inserted.\n\nPlease verify that the cannula has been inserted correctly and change your Pod if you feel hasn\'t.</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_title">Deactivate Pod</string>
<string name="omnipod_change_pod_wizard_deactivate_pod_text">Press <b>Next</b> to deactivate the Pod.\n\n<b>Note:</b> This will suspend all insulin delivery and deactivate the Pod.</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_title">Deactivating Pod</string>
<string name="omnipod_change_pod_wizard_deactivating_pod_text">Deactivating the Pod.\n\nWhen deactivation has completed successfully, you can press <b>Next</b>.</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_title">Pod deactivated</string>
<string name="omnipod_change_pod_wizard_pod_deactivated_text">Your Pod has been deactivated.\n\nPlease remove the Pod from your body and recycle it.</string>
<string name="omnipod_change_pod_wizard_pod_discarded_title">Pod discarded</string>
<string name="omnipod_change_pod_wizard_pod_discarded_text">The Pod state has been discarded. Insulin delivery hasn\'t been suspended because the Pod has not been properly deactivated!\n\nPlease remove the Pod from your body and recycle it.</string>
<string name="omnipod_change_pod_wizard_discard_pod_confirmation">If you discard the Pod, you will not be able to communicate with it anymore. You should only do this when all communication with the Pod persistently fails. Are you sure you want to discard the Pod?</string>
<string name="omnipod_change_pod_wizard_discard_pod">Discard Pod</string>
<!-- Omnipod - Overview -->
<string name="omnipod_overview_button_set_time">Set time</string>
<string name="omnipod_overview_button_suspend_delivery">Suspend</string>
<string name="omnipod_overview_button_riley_link_stats">RL stats</string>
<string name="omnipod_overview_button_read_pulse_log">Pulse log</string>
<string name="omnipod_overview_button_refresh">Refresh</string>
<string name="omnipod_overview_button_resume_delivery">Resume delivery</string>
<string name="omnipod_overview_button_pod_management">Pod mgmt</string>
<string name="omnipod_overview_button_acknowledge_active_alerts">Ack alerts</string>
<string name="omnipod_overview_pod_status">Pod status</string>
<string name="omnipod_overview_total_delivered">Total delivered</string>
<string name="omnipod_overview_total_delivered_value">%1$.2f U</string>
<string name="omnipod_overview_pod_address">Pod address</string>
<string name="omnipod_overview_pod_expiry_date">Pod expires</string>
<string name="omnipod_overview_last_connection">Last connection</string>
<string name="omnipod_overview_last_bolus">Last bolus</string>
<string name="omnipod_overview_temp_basal_rate">Temp basal rate</string>
<string name="omnipod_overview_base_basal_rate">Base basal rate</string>
<string name="omnipod_overview_reservoir">Reservoir</string>
<string name="omnipod_overview_pod_active_alerts">Active Pod alerts</string>
<string name="omnipod_overview_firmware_version">Firmware version</string>
<string name="omnipod_overview_time_on_pod">Time on Pod</string>
<string name="omnipod_overview_temp_basal_value">%1$.2fU/h @%2$s (%3$d/%4$d minutes)</string>
<string name="omnipod_overview_reservoir_value">%1$.2f U left</string>
<string name="omnipod_overview_reservoir_value_over50">Over 50 U left</string>
<string name="omnipod_overview_errors">Errors</string>
<!-- Omnipod - Other -->
<string name="omnipod_errors">Errors</string>
<string name="omnipod_pod_management_title">Pod management</string>
<string name="omnipod_pod_status">Pod status</string>
<string name="omnipod_total_delivered_label">Total delivered</string>
<string name="omnipod_total_delivered">%1$.2f U</string>
<string name="omnipod_reservoir_left">%1$.2f U left</string>
<string name="omnipod_reservoir_over50">Over 50 U</string>
<string name="omnipod_pod_address">Pod address</string>
<string name="omnipod_pod_expiry">Pod expires</string>
<string name="omnipod_pod_active_alerts">Active Pod alerts</string>
<string name="omnipod_discard_pod_state_confirmation">If you press <b>OK</b>, the Pod state will be forcibly reset and you will not be able to communicate with the Pod anymore. Do this only if you can not communicate with the Pod anymore. If you can still communicate with the Pod, please use the <b>Deactivate Pod</b> option.\n\nIf you wish to proceed, please make sure to also remove the Pod from your body.</string>
<string name="omnipod_temp_basal_value">%1$.2fU/h @%2$s (%3$d/%4$d minutes)</string>
<string name="description_pump_omnipod">Pump integration for Omnipod, requires RileyLink (with at least 2.0 firmware) device.</string>
<string name="omnipod_pod_firmware_version">Firmware version</string>
<string name="omnipod_pump_description">Pump integration for Omnipod, requires RileyLink (with at least 2.0 firmware) device.</string>
<string name="omnipod_custom_action_reset_rileylink">Reset RileyLink config</string>
<string name="omnipod_waiting_for_rileylink_connection">Waiting for RileyLink connection…</string>
<string name="omnipod_pod_suspended">Pod suspended</string>
<string name="omnipod_uncertain">uncertain</string>
<string name="omnipod_pod_time_on_pod">Time on Pod</string>
<string name="omnipod_pulse_log">Pulse log</string>
<string name="omnipod_pulse_log_value">Pulse Log (copied to clipboard)</string>
<string name="omnipod_yes">Yes</string>
<string name="omnipod_no">No</string>
<!-- Omnipod - Times -->
<string name="omnipod_moments_ago">Moments ago</string>
<string name="omnipod_less_than_a_minute_ago">Less than a minute ago</string>
<string name="omnipod_composite_time">%1$s and %2$s</string>
<string name="omnipod_time_ago">%1$s ago</string>
<string name="omnipod_wizard_button_cancel">Cancel</string>
<string name="omnipod_replace_pod_wizard_button_finish">Finish</string>
<string name="omnipod_replace_pod_wizard_button_next">Next</string>
<string name="omnipod_replace_pod_wizard_exit_confirmation">You haven\'t finished replacing your pod yet. Are you sure you want to exit?</string>
<string name="omnipod_replace_pod_wizard_replace_pod">Replace Pod</string>
<string name="omnipod_yes">Yes</string>
<string name="omnipod_no">No</string>
<plurals name="omnipod_minutes">
<item quantity="one">%1$d minute</item>
<item quantity="other">%1$d minutes</item>

View file

@ -1,41 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="WizardPagePodContent">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">8dp</item>
<item name="android:paddingLeft">20dp</item>
<item name="android:paddingRight">20dp</item>
<item name="android:textSize">18sp</item>
</style>
<style name="WizardPagePodListItem">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">20dp</item>
<item name="android:layout_marginTop">20dp</item>
<item name="android:paddingTop">20dp</item>
<item name="android:paddingBottom">20dp</item>
<item name="android:paddingLeft">60dp</item>
<item name="android:paddingRight">60dp</item>
<item name="android:textSize">18sp</item>
</style>
<style name="PodInfoListView" parent="@android:style/Widget.ListView">
<item name="android:background">@color/colorLightGray</item>
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:divider">@android:color/black</item>
<item name="android:dividerHeight">1dp</item>
</style>
<style name="WizardPageTitle">
<item name="android:id">@android:id/title</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">8dp</item>
<item name="android:paddingLeft">@dimen/list_item_padding_left</item>
<item name="android:textSize">36sp</item>
<style name="ChangePodWizardTitle">
<item name="android:textSize">30sp</item>
<item name="android:textColor">#0099CC</item>
</style>
<style name="ChangePodWizardText" parent="@android:style/TextAppearance">
<item name="android:textSize">18sp</item>
</style>
<style name="ChangePodWizardError" parent="@style/ChangePodWizardText">
<item name="android:textColor">#FFE91E63</item>
<item name="android:textStyle">bold</item>
</style>
</resources>

Some files were not shown because too many files have changed in this diff Show more