ui, implementation module
This commit is contained in:
parent
ef4a15a4c5
commit
c955ca5b57
80 changed files with 396 additions and 206 deletions
|
@ -176,6 +176,8 @@ dependencies {
|
|||
implementation project(':libraries')
|
||||
implementation project(':shared')
|
||||
implementation project(':core')
|
||||
implementation project(':ui')
|
||||
implementation project(':implementation')
|
||||
implementation project(':automation')
|
||||
implementation project(':combo')
|
||||
implementation project(':database')
|
||||
|
|
|
@ -23,6 +23,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.di.MedtronicModule
|
|||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.di.OmnipodDashModule
|
||||
import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule
|
||||
import info.nightscout.shared.di.SharedModule
|
||||
import info.nightscout.ui.di.UiModule
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
|
@ -65,7 +66,8 @@ import javax.inject.Singleton
|
|||
WorkersModule::class,
|
||||
DiaconnG8Module::class,
|
||||
OpenHumansModule::class,
|
||||
SharedModule::class
|
||||
SharedModule::class,
|
||||
UiModule::class
|
||||
]
|
||||
)
|
||||
interface AppComponent : AndroidInjector<MainApp> {
|
||||
|
|
|
@ -33,10 +33,13 @@ import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl
|
|||
import info.nightscout.androidaps.utils.buildHelper.ConfigImpl
|
||||
import info.nightscout.androidaps.utils.resources.IconsProviderImplementation
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.implementation.XDripBroadcastImpl
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import info.nightscout.androidaps.utils.rx.DefaultAapsSchedulers
|
||||
import info.nightscout.androidaps.utils.storage.FileStorage
|
||||
import info.nightscout.androidaps.utils.storage.Storage
|
||||
import info.nightscout.implementation.BolusTimerImpl
|
||||
import info.nightscout.implementation.CarbTimerImpl
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import javax.inject.Singleton
|
||||
|
||||
|
@ -107,6 +110,9 @@ open class AppModule {
|
|||
@Binds fun bindDataSyncSelector(dataSyncSelectorImplementation: DataSyncSelectorImplementation): DataSyncSelector
|
||||
|
||||
@Binds fun bindPumpSync(pumpSyncImplementation: PumpSyncImplementation): PumpSync
|
||||
@Binds fun bindXDripBroadcast(xDripBroadcastImpl: XDripBroadcastImpl): XDripBroadcast
|
||||
@Binds fun bindCarbTimer(carbTimer: CarbTimerImpl): CarbTimer
|
||||
@Binds fun bindBolusTimer(bolusTimer: BolusTimerImpl): BolusTimer
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,8 +10,6 @@ import info.nightscout.androidaps.activities.fragments.TreatmentsProfileSwitchFr
|
|||
import info.nightscout.androidaps.activities.fragments.TreatmentsTempTargetFragment
|
||||
import info.nightscout.androidaps.activities.fragments.TreatmentsTemporaryBasalsFragment
|
||||
import info.nightscout.androidaps.activities.fragments.TreatmentsUserEntryFragment
|
||||
import info.nightscout.androidaps.dialogs.CalibrationDialog
|
||||
import info.nightscout.androidaps.dialogs.CarbsDialog
|
||||
import info.nightscout.androidaps.dialogs.CareDialog
|
||||
import info.nightscout.androidaps.dialogs.ExtendedBolusDialog
|
||||
import info.nightscout.androidaps.dialogs.FillDialog
|
||||
|
@ -88,8 +86,6 @@ abstract class FragmentsModule {
|
|||
|
||||
@ContributesAndroidInjector abstract fun contributesVirtualPumpFragment(): VirtualPumpFragment
|
||||
|
||||
@ContributesAndroidInjector abstract fun contributesCalibrationDialog(): CalibrationDialog
|
||||
@ContributesAndroidInjector abstract fun contributesCarbsDialog(): CarbsDialog
|
||||
@ContributesAndroidInjector abstract fun contributesCareDialog(): CareDialog
|
||||
@ContributesAndroidInjector abstract fun contributesEditActionDialog(): EditActionDialog
|
||||
@ContributesAndroidInjector abstract fun contributesEditEventDialog(): EditEventDialog
|
||||
|
|
|
@ -203,7 +203,7 @@ class CareDialog : DialogFragmentWithDate() {
|
|||
else -> TherapyEvent.MeterType.MANUAL
|
||||
}
|
||||
actions.add(rh.gs(R.string.careportal_newnstreatment_glucosetype) + ": " + translator.translate(meterType))
|
||||
actions.add(rh.gs(R.string.treatments_wizard_bg_label) + ": " + Profile.toCurrentUnitsString(profileFunction, binding.bg.value) + " " + rh.gs(unitResId))
|
||||
actions.add(rh.gs(R.string.bg_label) + ": " + Profile.toCurrentUnitsString(profileFunction, binding.bg.value) + " " + rh.gs(unitResId))
|
||||
therapyEvent.glucoseType = meterType
|
||||
therapyEvent.glucose = binding.bg.value
|
||||
valuesWithUnit.add(ValueWithUnit.fromGlucoseUnit(binding.bg.value, profileFunction.getUnits().asText))
|
||||
|
|
|
@ -93,7 +93,7 @@ class ExtendedBolusDialog : DialogFragmentWithDate() {
|
|||
actions.add(rh.gs(R.string.formatinsulinunits, insulinAfterConstraint))
|
||||
actions.add(rh.gs(R.string.duration) + ": " + rh.gs(R.string.format_mins, durationInMinutes))
|
||||
if (abs(insulinAfterConstraint - insulin) > 0.01)
|
||||
actions.add(rh.gs(R.string.constraintapllied).formatColor(context, rh, R.attr.warningColor))
|
||||
actions.add(rh.gs(R.string.constraint_applied).formatColor(context, rh, R.attr.warningColor))
|
||||
|
||||
activity?.let { activity ->
|
||||
OKDialog.showConfirmation(activity, rh.gs(R.string.extended_bolus), HtmlHelper.fromHtml(Joiner.on("<br/>").join(actions)), {
|
||||
|
|
|
@ -31,6 +31,7 @@ import info.nightscout.androidaps.utils.extensions.toSignedString
|
|||
import info.nightscout.androidaps.utils.protection.ProtectionCheck
|
||||
import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.androidaps.interfaces.BolusTimer
|
||||
import info.nightscout.shared.SafeParse
|
||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||
import io.reactivex.rxjava3.kotlin.plusAssign
|
||||
|
@ -83,11 +84,11 @@ class InsulinDialog : DialogFragmentWithDate() {
|
|||
val maxInsulin = constraintChecker.getMaxBolusAllowed().value()
|
||||
if (abs(binding.time.value.toInt()) > 12 * 60) {
|
||||
binding.time.value = 0.0
|
||||
ToastUtils.warnToast(context, R.string.constraintapllied)
|
||||
ToastUtils.warnToast(context, R.string.constraint_applied)
|
||||
}
|
||||
if (binding.amount.value > maxInsulin) {
|
||||
binding.amount.value = 0.0
|
||||
ToastUtils.warnToast(context, R.string.bolusconstraintapplied)
|
||||
ToastUtils.warnToast(context, R.string.bolus_constraint_applied)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -181,7 +182,7 @@ class InsulinDialog : DialogFragmentWithDate() {
|
|||
val eatingSoonTTDuration = defaultValueHelper.determineEatingSoonTTDuration()
|
||||
val eatingSoonTT = defaultValueHelper.determineEatingSoonTT()
|
||||
if (eatingSoonChecked)
|
||||
actions.add(rh.gs(R.string.temptargetshort) + ": " + (DecimalFormatter.to1Decimal(eatingSoonTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, eatingSoonTTDuration) + ")")
|
||||
actions.add(rh.gs(R.string.temp_target_short) + ": " + (DecimalFormatter.to1Decimal(eatingSoonTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, eatingSoonTTDuration) + ")")
|
||||
.formatColor(context, rh, R.attr.tempTargetConfirmation))
|
||||
|
||||
val timeOffset = binding.time.value.toInt()
|
||||
|
@ -234,7 +235,7 @@ class InsulinDialog : DialogFragmentWithDate() {
|
|||
{ aapsLogger.error(LTag.DATABASE, "Error while saving bolus", it) }
|
||||
)
|
||||
if (timeOffset == 0)
|
||||
bolusTimer.removeBolusReminder()
|
||||
bolusTimer.removeAutomationEventBolusReminder()
|
||||
} else {
|
||||
uel.log(Action.BOLUS, Sources.InsulinDialog,
|
||||
notes,
|
||||
|
@ -244,7 +245,7 @@ class InsulinDialog : DialogFragmentWithDate() {
|
|||
if (!result.success) {
|
||||
ErrorHelperActivity.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror)
|
||||
} else {
|
||||
bolusTimer.removeBolusReminder()
|
||||
bolusTimer.removeAutomationEventBolusReminder()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -111,14 +111,14 @@ class TempBasalDialog : DialogFragmentWithDate() {
|
|||
percent = constraintChecker.applyBasalPercentConstraints(Constraint(basalPercentInput), profile).value()
|
||||
actions.add(rh.gs(R.string.tempbasal_label) + ": $percent%")
|
||||
actions.add(rh.gs(R.string.duration) + ": " + rh.gs(R.string.format_mins, durationInMinutes))
|
||||
if (percent != basalPercentInput) actions.add(rh.gs(R.string.constraintapllied))
|
||||
if (percent != basalPercentInput) actions.add(rh.gs(R.string.constraint_applied))
|
||||
} else {
|
||||
val basalAbsoluteInput = SafeParse.stringToDouble(binding.basalAbsoluteInput.text)
|
||||
absolute = constraintChecker.applyBasalConstraints(Constraint(basalAbsoluteInput), profile).value()
|
||||
actions.add(rh.gs(R.string.tempbasal_label) + ": " + rh.gs(R.string.pump_basebasalrate, absolute))
|
||||
actions.add(rh.gs(R.string.duration) + ": " + rh.gs(R.string.format_mins, durationInMinutes))
|
||||
if (abs(absolute - basalAbsoluteInput) > 0.01)
|
||||
actions.add(rh.gs(R.string.constraintapllied).formatColor(context, rh, R.attr.warningColor))
|
||||
actions.add(rh.gs(R.string.constraint_applied).formatColor(context, rh, R.attr.warningColor))
|
||||
}
|
||||
activity?.let { activity ->
|
||||
OKDialog.showConfirmation(activity, rh.gs(R.string.tempbasal_label), HtmlHelper.fromHtml(Joiner.on("<br/>").join(actions)), {
|
||||
|
|
|
@ -72,11 +72,11 @@ class TreatmentDialog : DialogFragmentWithDate() {
|
|||
val maxInsulin = constraintChecker.getMaxBolusAllowed().value()
|
||||
if (SafeParse.stringToInt(binding.carbs.text) > maxCarbs) {
|
||||
binding.carbs.value = 0.0
|
||||
ToastUtils.warnToast(context, R.string.carbsconstraintapplied)
|
||||
ToastUtils.warnToast(context, R.string.carbs_constraint_applied)
|
||||
}
|
||||
if (SafeParse.stringToDouble(binding.insulin.text) > maxInsulin) {
|
||||
binding.insulin.value = 0.0
|
||||
ToastUtils.warnToast(context, R.string.bolusconstraintapplied)
|
||||
ToastUtils.warnToast(context, R.string.bolus_constraint_applied)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,7 @@ class TreatmentDialog : DialogFragmentWithDate() {
|
|||
if (carbsAfterConstraints > 0) {
|
||||
actions.add(rh.gs(R.string.carbs) + ": " + rh.gs(R.string.format_carbs, carbsAfterConstraints).formatColor(context, rh, R.attr.carbsColor))
|
||||
if (carbsAfterConstraints != carbs)
|
||||
actions.add(rh.gs(R.string.carbsconstraintapplied).formatColor(context, rh, R.attr.warningColor))
|
||||
actions.add(rh.gs(R.string.carbs_constraint_applied).formatColor(context, rh, R.attr.warningColor))
|
||||
}
|
||||
if (insulinAfterConstraints > 0 || carbsAfterConstraints > 0) {
|
||||
activity?.let { activity ->
|
||||
|
|
|
@ -411,7 +411,7 @@ class WizardDialog : DaggerDialogFragment() {
|
|||
val carbsAfterConstraint = constraintChecker.applyCarbsConstraints(Constraint(carbs)).value()
|
||||
if (abs(carbs - carbsAfterConstraint) > 0.01) {
|
||||
binding.carbsInput.value = 0.0
|
||||
ToastUtils.warnToast(ctx, R.string.carbsconstraintapplied)
|
||||
ToastUtils.warnToast(ctx, R.string.carbs_constraint_applied)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ import info.nightscout.androidaps.utils.DateUtil
|
|||
import info.nightscout.androidaps.utils.JsonHelper
|
||||
import info.nightscout.androidaps.utils.JsonHelper.safeGetLong
|
||||
import info.nightscout.androidaps.interfaces.BuildHelper
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
|
|
@ -35,8 +35,8 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.database.interfaces.end
|
||||
import info.nightscout.androidaps.databinding.OverviewFragmentBinding
|
||||
import info.nightscout.androidaps.dialogs.CalibrationDialog
|
||||
import info.nightscout.androidaps.dialogs.CarbsDialog
|
||||
import info.nightscout.ui.dialogs.CalibrationDialog
|
||||
import info.nightscout.ui.dialogs.CarbsDialog
|
||||
import info.nightscout.androidaps.dialogs.InsulinDialog
|
||||
import info.nightscout.androidaps.dialogs.LoopDialog
|
||||
import info.nightscout.androidaps.dialogs.ProfileSwitchDialog
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.*
|
|||
import info.nightscout.androidaps.database.interfaces.end
|
||||
import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction
|
||||
import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction
|
||||
import info.nightscout.androidaps.dialogs.CarbsDialog
|
||||
import info.nightscout.ui.dialogs.CarbsDialog
|
||||
import info.nightscout.androidaps.dialogs.InsulinDialog
|
||||
import info.nightscout.androidaps.events.EventMobileToWear
|
||||
import info.nightscout.androidaps.extensions.convertedToAbsolute
|
||||
|
@ -469,7 +469,7 @@ class DataHandlerMobile @Inject constructor(
|
|||
message += rh.gs(R.string.bolus) + ": " + insulinAfterConstraints + "U\n"
|
||||
message += rh.gs(R.string.carbs) + ": " + carbsAfterConstraints + "g"
|
||||
if (insulinAfterConstraints - command.insulin != 0.0 || carbsAfterConstraints - command.carbs != 0)
|
||||
message += "\n" + rh.gs(R.string.constraintapllied)
|
||||
message += "\n" + rh.gs(R.string.constraint_applied)
|
||||
rxBus.send(
|
||||
EventMobileToWear(
|
||||
EventData.ConfirmAction(
|
||||
|
@ -487,7 +487,7 @@ class DataHandlerMobile @Inject constructor(
|
|||
"\n" + rh.gs(R.string.time) + ": " + dateUtil.timeString(startTimeStamp) +
|
||||
"\n" + rh.gs(R.string.duration) + ": " + command.duration + "h"
|
||||
if (carbsAfterConstraints - command.carbs != 0) {
|
||||
message += "\n" + rh.gs(R.string.constraintapllied)
|
||||
message += "\n" + rh.gs(R.string.constraint_applied)
|
||||
}
|
||||
if (carbsAfterConstraints <= 0) {
|
||||
sendError("Carbs = 0! No action taken!")
|
||||
|
@ -512,7 +512,7 @@ class DataHandlerMobile @Inject constructor(
|
|||
}
|
||||
val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(amount)).value()
|
||||
var message = rh.gs(R.string.primefill) + ": " + insulinAfterConstraints + "U"
|
||||
if (insulinAfterConstraints - amount != 0.0) message += "\n" + rh.gs(R.string.constraintapllied)
|
||||
if (insulinAfterConstraints - amount != 0.0) message += "\n" + rh.gs(R.string.constraint_applied)
|
||||
rxBus.send(
|
||||
EventMobileToWear(
|
||||
EventData.ConfirmAction(
|
||||
|
@ -526,7 +526,7 @@ class DataHandlerMobile @Inject constructor(
|
|||
private fun handleFillPreCheck(command: EventData.ActionFillPreCheck) {
|
||||
val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(command.insulin)).value()
|
||||
var message = rh.gs(R.string.primefill) + ": " + insulinAfterConstraints + "U"
|
||||
if (insulinAfterConstraints - command.insulin != 0.0) message += "\n" + rh.gs(R.string.constraintapllied)
|
||||
if (insulinAfterConstraints - command.insulin != 0.0) message += "\n" + rh.gs(R.string.constraint_applied)
|
||||
rxBus.send(
|
||||
EventMobileToWear(
|
||||
EventData.ConfirmAction(
|
||||
|
|
|
@ -31,7 +31,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger
|
|||
import info.nightscout.androidaps.receivers.DataWorkerStorage
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
|
|
|
@ -19,7 +19,7 @@ import info.nightscout.shared.logging.AAPSLogger
|
|||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.androidaps.receivers.DataWorkerStorage
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import java.util.*
|
||||
|
|
|
@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription
|
|||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import javax.inject.Inject
|
||||
|
|
|
@ -23,8 +23,8 @@ import info.nightscout.androidaps.logging.UserEntryLogger
|
|||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||
import javax.inject.Inject
|
||||
|
|
|
@ -25,7 +25,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger
|
|||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
|
|
|
@ -17,7 +17,7 @@ import info.nightscout.shared.logging.AAPSLogger
|
|||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.androidaps.receivers.DataWorkerStorage
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import org.json.JSONArray
|
||||
|
|
|
@ -24,7 +24,7 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific
|
|||
import info.nightscout.androidaps.receivers.DataWorkerStorage
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import org.json.JSONObject
|
||||
|
|
|
@ -17,7 +17,7 @@ import info.nightscout.androidaps.interfaces.PluginType
|
|||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.androidaps.utils.JsonHelper.safeGetString
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import org.json.JSONArray
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.*
|
|||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin
|
||||
import info.nightscout.androidaps.utils.extensions.isRunningTest
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
|
|
|
@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription
|
|||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import javax.inject.Inject
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package info.nightscout.androidaps.utils.wizard
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.text.Spanned
|
||||
import com.google.common.base.Joiner
|
||||
import dagger.android.HasAndroidInjector
|
||||
|
@ -32,6 +31,7 @@ import info.nightscout.androidaps.queue.Callback
|
|||
import info.nightscout.androidaps.utils.*
|
||||
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.androidaps.interfaces.BolusTimer
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||
import io.reactivex.rxjava3.kotlin.plusAssign
|
||||
|
@ -349,11 +349,11 @@ class BolusWizard @Inject constructor(
|
|||
}
|
||||
accepted = true
|
||||
if (calculatedTotalInsulin > 0.0)
|
||||
bolusTimer.removeBolusReminder()
|
||||
bolusTimer.removeAutomationEventBolusReminder()
|
||||
if (carbs > 0.0)
|
||||
carbTimer.removeEatReminder()
|
||||
carbTimer.removeAutomationEventEatReminder()
|
||||
if (sp.getBoolean(R.string.key_usebolusadvisor, false) && Profile.toMgdl(bg, profile.units) > 180 && carbs > 0 && carbTime >= 0)
|
||||
OKDialog.showYesNoCancel(ctx, rh.gs(R.string.bolusadvisor), rh.gs(R.string.bolusadvisormessage),
|
||||
OKDialog.showYesNoCancel(ctx, rh.gs(R.string.bolus_advisor), rh.gs(R.string.bolus_advisor_message),
|
||||
{ bolusAdvisorProcessing(ctx) },
|
||||
{ commonProcessing(ctx) }
|
||||
)
|
||||
|
@ -390,7 +390,7 @@ class BolusWizard @Inject constructor(
|
|||
if (!result.success) {
|
||||
ErrorHelperActivity.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror)
|
||||
} else
|
||||
carbTimer.scheduleEatReminder()
|
||||
carbTimer.scheduleAutomationEventEatReminder()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -487,7 +487,7 @@ class BolusWizard @Inject constructor(
|
|||
|
||||
}
|
||||
if (useAlarm && carbs > 0 && carbTime > 0) {
|
||||
carbTimer.scheduleReminder(T.mins(carbTime.toLong()).secs().toInt())
|
||||
carbTimer.scheduleTimeToEatReminder(T.mins(carbTime.toLong()).secs().toInt())
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
android:layout_gravity="center_horizontal"
|
||||
android:width="120dp"
|
||||
android:padding="10dp"
|
||||
android:text="@string/treatments_wizard_bg_label"
|
||||
android:text="@string/bg_label"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
|||
android:layout_width="130dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
app:customContentDescription="@string/treatments_wizard_bg_label" />
|
||||
app:customContentDescription="@string/bg_label" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/bg_units"
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
android:layout_gravity="center_horizontal"
|
||||
android:width="120dp"
|
||||
android:padding="10dp"
|
||||
android:text="@string/treatments_wizard_carbs_label"
|
||||
android:text="@string/carbs"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
@ -112,7 +112,7 @@
|
|||
android:id="@+id/carbs"
|
||||
android:layout_width="130dp"
|
||||
android:layout_height="40dp"
|
||||
app:customContentDescription="@string/treatments_wizard_carbs_label" />
|
||||
app:customContentDescription="@string/carbs" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:padding="10dp"
|
||||
android:text="@string/treatments_wizard_bg_label"
|
||||
android:text="@string/bg_label"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
@ -95,7 +95,7 @@
|
|||
android:layout_weight="1"
|
||||
android:labelFor="@id/carbs_input"
|
||||
android:padding="10dp"
|
||||
android:text="@string/treatments_wizard_carbs_label"
|
||||
android:text="@string/carbs"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
@ -105,7 +105,7 @@
|
|||
android:layout_height="40dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginBottom="2dp"
|
||||
app:customContentDescription="@string/treatments_wizard_carbs_label" />
|
||||
app:customContentDescription="@string/carbs" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -229,7 +229,7 @@
|
|||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:checked="true"
|
||||
android:contentDescription="@string/treatments_wizard_bg_label"
|
||||
android:contentDescription="@string/bg_label"
|
||||
android:drawableTop="@drawable/checkbox_bg_icon"
|
||||
android:scaleX="1.4"
|
||||
android:scaleY="1.4" />
|
||||
|
@ -436,7 +436,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:checked="true"
|
||||
android:text="@string/treatments_wizard_bg_label" />
|
||||
android:text="@string/bg_label" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/tt_checkbox"
|
||||
|
@ -571,7 +571,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:width="86dp"
|
||||
android:text="@string/treatments_wizard_carbs_label"
|
||||
android:text="@string/carbs"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:width="24dp"
|
||||
android:text="@string/treatments_wizard_bg_label"
|
||||
android:text="@string/bg_label"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<CheckBox
|
||||
|
@ -288,7 +288,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:width="86dp"
|
||||
android:text="@string/treatments_wizard_carbs_label"
|
||||
android:text="@string/carbs"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
android:drawableTop="@drawable/ic_cp_bolus_carbs"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:text="@string/treatments_wizard_carbs_label"
|
||||
android:text="@string/carbs"
|
||||
android:textColor="?attr/icBolusCarbsColor"
|
||||
app:iconPadding="-4dp" />
|
||||
|
||||
|
@ -102,7 +102,7 @@
|
|||
android:drawableTop="@drawable/ic_calibration"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:text="@string/overview_calibration"
|
||||
android:text="@string/calibration"
|
||||
android:textColor="?attr/icCalibrationColor"
|
||||
android:visibility="gone"
|
||||
app:iconPadding="-4dp" />
|
||||
|
|
|
@ -652,7 +652,7 @@
|
|||
<string name="resettodefaults">Възстанови настройките по подразбиране</string>
|
||||
<string name="nsmalfunction">Грешка в NSClient. Рестартирайте Nightscout и NSClient</string>
|
||||
<string name="time_offset">времево отместване</string>
|
||||
<string name="bolus_reminder">Напомни за болус по-късно</string>
|
||||
<string name="remind_to_bolus_later">Напомни за болус по-късно</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Предпочитаният режим на APS</string>
|
||||
<string name="treatments_wizard_total_label">Общо</string>
|
||||
<string name="calculation_short">Калк</string>
|
||||
|
@ -809,7 +809,7 @@
|
|||
<string name="enablebolusadvisor_summary">Използвай напомняне за старт на хранене вместо съветника по време на висока гликемия (\"пре-болус\")</string>
|
||||
<string name="time_to_eat">Време за ядене!\nИзпълнете болус съветника и направете изчисления отново.</string>
|
||||
<string name="timetoeat">Време е за ядене</string>
|
||||
<string name="bolusreminder">Болус подсещане</string>
|
||||
<string name="bolus_reminder">Болус подсещане</string>
|
||||
<string name="enablebolusreminder">Включи подсещането за болус</string>
|
||||
<string name="enablebolusreminder_summary">Използвай подсещане за болус по-късно със съветник (\"след-болус\")</string>
|
||||
<string name="time_to_bolus">Време е за болус!\nВключи болус съветника и направи изчисление отново.</string>
|
||||
|
|
|
@ -692,7 +692,7 @@
|
|||
<string name="resettodefaults">Obnovit výchozí</string>
|
||||
<string name="nsmalfunction">Chyba NSClienta. Zvažte restart NS a NSClienta.</string>
|
||||
<string name="time_offset">Časový posun</string>
|
||||
<string name="bolus_reminder">Upozornit později na bolus</string>
|
||||
<string name="remind_to_bolus_later">Upozornit později na bolus</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Preferovaný režim APS</string>
|
||||
<string name="treatments_wizard_total_label">Výsledek</string>
|
||||
<string name="calculation_short">Kalk</string>
|
||||
|
@ -864,7 +864,7 @@
|
|||
<string name="enablebolusadvisor_summary">Při vysoké glykémii použijte připomenutí, abyste začali jíst později, namísto výsledku z kalkulátoru („prebolus“)</string>
|
||||
<string name="time_to_eat">Čas k jídlu!\nSpusťte Bolusovou kalkulačku a proveďte výpočet znovu.</string>
|
||||
<string name="timetoeat">Čas k jídlu</string>
|
||||
<string name="bolusreminder">Připomenutí bolusu</string>
|
||||
<string name="bolus_reminder">Připomenutí bolusu</string>
|
||||
<string name="enablebolusreminder">Povolit připomínání bolusu</string>
|
||||
<string name="enablebolusreminder_summary">Použijte připomenutí pro pozdější bolus s kalkulátorem
|
||||
(\"zpožděný bolus\")</string>
|
||||
|
|
|
@ -679,7 +679,7 @@
|
|||
<string name="resettodefaults">Nulstil til standardindstillinger</string>
|
||||
<string name="nsmalfunction">NSClient funktionsfejl. Overvej NS og NSClient genstart.</string>
|
||||
<string name="time_offset">Tidsforskydning</string>
|
||||
<string name="bolus_reminder">Påmind om at bolus senere</string>
|
||||
<string name="remind_to_bolus_later">Påmind om at bolus senere</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Foretrukket APS-tilstand</string>
|
||||
<string name="treatments_wizard_total_label">I alt</string>
|
||||
<string name="calculation_short">Beregn</string>
|
||||
|
@ -847,7 +847,7 @@
|
|||
<string name="enablebolusadvisor_summary">Brug påmindelse om at begynde at spise senere i stedet for guiden under høj glykæmi (\"pre-bolus\")</string>
|
||||
<string name="time_to_eat">Tid til at spise!\nKør Bolus guiden og lav beregning igen.</string>
|
||||
<string name="timetoeat">Tid til at spise</string>
|
||||
<string name="bolusreminder">Boluspåminder</string>
|
||||
<string name="bolus_reminder">Boluspåminder</string>
|
||||
<string name="enablebolusreminder">Aktivér boluspåminder</string>
|
||||
<string name="enablebolusreminder_summary">Brug påmindelse til bolus senere med guiden
|
||||
(\"post-bolus\")</string>
|
||||
|
|
|
@ -679,7 +679,7 @@
|
|||
<string name="resettodefaults">Auf Standardwerte zurücksetzen</string>
|
||||
<string name="nsmalfunction">NSClient Störung. Ziehe einen Neustart von NS und NSClient in Betracht.</string>
|
||||
<string name="time_offset">Zeitversatz</string>
|
||||
<string name="bolus_reminder">Später an Bolus erinnern</string>
|
||||
<string name="remind_to_bolus_later">Später an Bolus erinnern</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Bevorzugter APS-Modus</string>
|
||||
<string name="treatments_wizard_total_label">Gesamt</string>
|
||||
<string name="calculation_short">Berech.</string>
|
||||
|
@ -848,7 +848,7 @@ Unerwartetes Verhalten.</string>
|
|||
<string name="enablebolusadvisor_summary">Option zur Erinnerung an späteres Essen (z.B. bei hohen BZ-Werten) im Bolus-Rechner (\"Spritz-Ess-Abstand\")</string>
|
||||
<string name="time_to_eat">Zeit zum Essen!\nStarte den Bolus-Rechner und gib die KH ein. </string>
|
||||
<string name="timetoeat">Zeit zum Essen</string>
|
||||
<string name="bolusreminder">Bolus-Erinnerung</string>
|
||||
<string name="bolus_reminder">Bolus-Erinnerung</string>
|
||||
<string name="enablebolusreminder">Bolus-Erinnerung aktivieren</string>
|
||||
<string name="enablebolusreminder_summary">Erinnerung an späteren Bolus mit dem Assistenten verwenden
|
||||
(\"Post-Bolus\")</string>
|
||||
|
|
|
@ -692,7 +692,7 @@
|
|||
<string name="resettodefaults">Restablecer valores predeterminados</string>
|
||||
<string name="nsmalfunction">NSClient fallando. Considera reiniciar NS y NSClient.</string>
|
||||
<string name="time_offset">Retardo</string>
|
||||
<string name="bolus_reminder">Recordar ejecutar el bolo más tarde</string>
|
||||
<string name="remind_to_bolus_later">Recordar ejecutar el bolo más tarde</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Modo preferido de APS</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
<string name="calculation_short">Cálculo</string>
|
||||
|
@ -864,7 +864,7 @@
|
|||
<string name="enablebolusadvisor_summary">Utiliza un recordatorio para empezar a comer más tarde, en lugar del resultado del asistente durante una glucemia alta (\"pre-bolo\")</string>
|
||||
<string name="time_to_eat">¡Hora de comer!\nEjecutar el asistente de bolo y calcular de nuevo.</string>
|
||||
<string name="timetoeat">Hora de comer</string>
|
||||
<string name="bolusreminder">Recordatorio de bolo</string>
|
||||
<string name="bolus_reminder">Recordatorio de bolo</string>
|
||||
<string name="enablebolusreminder">Habilitar recordatorio de bolo</string>
|
||||
<string name="enablebolusreminder_summary">Usa recordatorio de bolo más tarde con el asistente
|
||||
(\"post-bolus\")</string>
|
||||
|
|
|
@ -693,7 +693,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
|
|||
<string name="resettodefaults">Réinitialiser les valeurs par défaut</string>
|
||||
<string name="nsmalfunction">Dysfonctionnement NSClient. Redémarrez NS et NSClient.</string>
|
||||
<string name="time_offset">Décalage horaire</string>
|
||||
<string name="bolus_reminder">Rappel du bolus plus tard</string>
|
||||
<string name="remind_to_bolus_later">Rappel du bolus plus tard</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Mode APS préféré</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
<string name="calculation_short">Calc</string>
|
||||
|
@ -865,7 +865,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
|
|||
<string name="enablebolusadvisor_summary">Utiliser un rappel pour commencer le repas à la place du résultat de l\'assistant quand la glycémie est élevée (\"pré-bolus\")</string>
|
||||
<string name="time_to_eat">Il est temps de manger !\nExécutez l\'assistant Bolus et refaites le calcul.</string>
|
||||
<string name="timetoeat">Il est temps de manger</string>
|
||||
<string name="bolusreminder">Rappel bolus</string>
|
||||
<string name="bolus_reminder">Rappel bolus</string>
|
||||
<string name="enablebolusreminder">Activer le rappel bolus</string>
|
||||
<string name="enablebolusreminder_summary">Utiliser un rappel pour faire le bolus plus tard avec l\'Assistant (\"post-bolus\")</string>
|
||||
<string name="time_to_bolus">Il est temps de faire le bolus !\nExécutez l\'Assistant et faites de nouveau le calcul.</string>
|
||||
|
|
|
@ -682,7 +682,7 @@
|
|||
<string name="resettodefaults">Ripristina valori predefiniti</string>
|
||||
<string name="nsmalfunction">Malfunzionamento NSClient. Considera il riavvio di NS e NSClient.</string>
|
||||
<string name="time_offset">Offset</string>
|
||||
<string name="bolus_reminder">Ricorda di fare il bolo</string>
|
||||
<string name="remind_to_bolus_later">Ricorda di fare il bolo</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Modalità APS preferita</string>
|
||||
<string name="treatments_wizard_total_label">Totale</string>
|
||||
<string name="calculation_short">Calc</string>
|
||||
|
@ -850,7 +850,7 @@
|
|||
<string name="enablebolusadvisor_summary">Usa un promemoria per iniziare a mangiare invece del risultato del calcolatore durante la glicemia alta (\"pre-bolo\")</string>
|
||||
<string name="time_to_eat">Tempo di mangiare!\nEsegui il calcolatore e fai di nuovi i calcoli.</string>
|
||||
<string name="timetoeat">Tempo di mangiare</string>
|
||||
<string name="bolusreminder">Promemoria bolo</string>
|
||||
<string name="bolus_reminder">Promemoria bolo</string>
|
||||
<string name="enablebolusreminder">Abilita promemoria bolo</string>
|
||||
<string name="enablebolusreminder_summary">Usa promemoria bolo con calcolatore
|
||||
(\"post-bolo\")</string>
|
||||
|
|
|
@ -681,7 +681,7 @@
|
|||
<string name="resettodefaults">אפס לברירת המחדל</string>
|
||||
<string name="nsmalfunction">תקלה ב-NSClient. שקלו להפעיל את Nightscout ו-NSClient מחדש.</string>
|
||||
<string name="time_offset">היסט זמן</string>
|
||||
<string name="bolus_reminder">תזכורת להזרקת בולוס אח\"כ</string>
|
||||
<string name="remind_to_bolus_later">תזכורת להזרקת בולוס אח\"כ</string>
|
||||
<string name="setupwizard_preferred_aps_mode">מצב APS מועדף</string>
|
||||
<string name="treatments_wizard_total_label">סה\"כ</string>
|
||||
<string name="calculation_short">חישוב</string>
|
||||
|
@ -849,7 +849,7 @@
|
|||
<string name="enablebolusadvisor_summary">מציג תזכורת לאכול אחר כך במקום להזריק את המינון שהומלץ ע\"י האשף בעת היפרגליקמיה (\"בולוס מקדים\")</string>
|
||||
<string name="time_to_eat">זמן לאכול!\nהפעילו את אשף הבולוסים וחשבו בולוס חדש.</string>
|
||||
<string name="timetoeat">זמן לאכול</string>
|
||||
<string name="bolusreminder">תזכורת בולוס</string>
|
||||
<string name="bolus_reminder">תזכורת בולוס</string>
|
||||
<string name="enablebolusreminder">אפשר את תזכורת בולוס</string>
|
||||
<string name="enablebolusreminder_summary">השתמש בתזכורת כדי להזריק בולוס מאוחר יותר במחשבון
|
||||
(\"פוסט-בולוס\")</string>
|
||||
|
|
|
@ -659,7 +659,7 @@
|
|||
<string name="resettodefaults">Atkurti numatytuosius</string>
|
||||
<string name="nsmalfunction">NSClient sutrikimas. Reikėtų paleisti iš naujo NS ir NSClient.</string>
|
||||
<string name="time_offset">Laiko poslinkis</string>
|
||||
<string name="bolus_reminder">Priminti apie bolusą vėliau</string>
|
||||
<string name="remind_to_bolus_later">Priminti apie bolusą vėliau</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Pageidaujamas DKS režimas</string>
|
||||
<string name="treatments_wizard_total_label">Viso</string>
|
||||
<string name="calculation_short">Skaič.</string>
|
||||
|
@ -819,7 +819,7 @@
|
|||
<string name="enablebolusadvisor_summary">Galimybė priminti jums valgyti vėliau (pvz., esant aukštai glikemijai) boliuso vedlyje („po susileidimo palaukti ir valgyti vėliau“)</string>
|
||||
<string name="time_to_eat">Laikas valgyti!\nĮjunkite Boluso patarėją ir atlikite skaičiavimą dar kartą.</string>
|
||||
<string name="timetoeat">Laikas valgyti</string>
|
||||
<string name="bolusreminder">Priminimas apie bolusą</string>
|
||||
<string name="bolus_reminder">Priminimas apie bolusą</string>
|
||||
<string name="enablebolusreminder">Įgalinti priminimą apie bolusą</string>
|
||||
<string name="enablebolusreminder_summary">Naudoti priminimus apie bolusą su skaičiuotuvu („post-bolusas“)</string>
|
||||
<string name="time_to_bolus">Laikas bolusui!\nĮjunkite Skaičiuotuvą ir pakartokite skaičiavimus.</string>
|
||||
|
|
|
@ -679,7 +679,7 @@
|
|||
<string name="resettodefaults">Terug naar standaardinstellingen</string>
|
||||
<string name="nsmalfunction">NSClient werkt niet goed. Overweg een herstart van NS en NSClient.</string>
|
||||
<string name="time_offset">Tijdverschuiving</string>
|
||||
<string name="bolus_reminder">Herinner later te bolussen</string>
|
||||
<string name="remind_to_bolus_later">Herinner later te bolussen</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Voorkeur APS-modus</string>
|
||||
<string name="treatments_wizard_total_label">Totaal</string>
|
||||
<string name="calculation_short">Calc</string>
|
||||
|
@ -847,7 +847,7 @@
|
|||
<string name="enablebolusadvisor_summary">Gebruik bij een hoge bloedglucose niet het resultaat van de wizard, maar een herinnering om later met eten te beginnen (\"pre-bolus\")</string>
|
||||
<string name="time_to_eat">Tijd om te eten!\nVoer de boluswizard opnieuw uit.</string>
|
||||
<string name="timetoeat">Tijd om te eten</string>
|
||||
<string name="bolusreminder">Bolus herinnering</string>
|
||||
<string name="bolus_reminder">Bolus herinnering</string>
|
||||
<string name="enablebolusreminder">Bolus herinnering inschakelen</string>
|
||||
<string name="enablebolusreminder_summary">Gebruik herinnering om later te bolussen met de wizard
|
||||
(\"post-bolus\")</string>
|
||||
|
|
|
@ -682,7 +682,7 @@
|
|||
<string name="resettodefaults">Gjenopprett standardinnstillinger</string>
|
||||
<string name="nsmalfunction">NSClient feil. Vurder omstart av NS og NSClient.</string>
|
||||
<string name="time_offset">Tidsforskyvning</string>
|
||||
<string name="bolus_reminder">Påminnelse til å gi bolus senere</string>
|
||||
<string name="remind_to_bolus_later">Påminnelse til å gi bolus senere</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Foretrukket APS modus</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
<string name="calculation_short">Kalkyle</string>
|
||||
|
@ -850,7 +850,7 @@
|
|||
<string name="enablebolusadvisor_summary">Bruk en påminnelse om å spise senere enn kalkulator resultatet fra wizard ved høyt blodsukker (\"pre-bolus\")</string>
|
||||
<string name="time_to_eat">Nå må du spise!\Bruk bolus veiviseren og beregn på nytt.</string>
|
||||
<string name="timetoeat">Nå må du spise</string>
|
||||
<string name="bolusreminder">Bolus påminnelse</string>
|
||||
<string name="bolus_reminder">Bolus påminnelse</string>
|
||||
<string name="enablebolusreminder">Aktiver bolus påminnelse</string>
|
||||
<string name="enablebolusreminder_summary">Bruk påminnelse for å sette bolus dosen senere med veiviseren
|
||||
(«post bolus»)</string>
|
||||
|
|
|
@ -661,7 +661,7 @@
|
|||
<string name="resettodefaults">Przywróć ustawienia domyślne</string>
|
||||
<string name="nsmalfunction">Usterka NSClient. Spróbuj zrestartować NS i NSClient.</string>
|
||||
<string name="time_offset">Przesunięcie czasu</string>
|
||||
<string name="bolus_reminder">Przypomnij o bolusie</string>
|
||||
<string name="remind_to_bolus_later">Przypomnij o bolusie</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Preferowany tryb APS</string>
|
||||
<string name="treatments_wizard_total_label">Razem</string>
|
||||
<string name="calculation_short">Kalk</string>
|
||||
|
@ -824,7 +824,7 @@
|
|||
<string name="enablebolusadvisor_summary">Użyj przypomnienia, aby rozpocząć jedzenie później podczas wysokiej glikemii (\"pre-bolus\")</string>
|
||||
<string name="time_to_eat">Czas jeść!\nUruchom kreatora bolusa i zrób obliczenia ponownie.</string>
|
||||
<string name="timetoeat">Czas na jedzenie</string>
|
||||
<string name="bolusreminder">Przypomnienie bolusa</string>
|
||||
<string name="bolus_reminder">Przypomnienie bolusa</string>
|
||||
<string name="enablebolusreminder">Włącz przypomnienie bolusa</string>
|
||||
<string name="enablebolusreminder_summary">Użyj przypomnienia o potrzebie obliczenia i podania bolusa kalkulatorem (\"opóźniony bolus\")</string>
|
||||
<string name="time_to_bolus">Czas na bolus!\nUruchom Kalkulator bolusa aby ponownie wykonać obliczenia.</string>
|
||||
|
|
|
@ -785,7 +785,7 @@
|
|||
<string name="enablebolusadvisor">Ativar o assistente de bolus</string>
|
||||
<string name="time_to_eat">Hora de comer!\nAbra o assistente de bolus e faça o cálculo novamente.</string>
|
||||
<string name="timetoeat">Hora de comer</string>
|
||||
<string name="bolusreminder">Lembrete de bolus</string>
|
||||
<string name="bolus_reminder">Lembrete de bolus</string>
|
||||
<string name="enablebolusreminder">Ativar lembrete de bolus</string>
|
||||
<string name="enablebolusreminder_summary">Usar lembrete para adiar o bolus com o assistente
|
||||
(\"pós-bolus\")</string>
|
||||
|
|
|
@ -659,7 +659,7 @@
|
|||
<string name="resettodefaults">Repor definições por defeito</string>
|
||||
<string name="nsmalfunction">Erro de funcionamento do ClienteNS. Pondere reiniciar o NS e ClienteNS.</string>
|
||||
<string name="time_offset">Fuso horário</string>
|
||||
<string name="bolus_reminder">Lembrete para bólus mais tarde</string>
|
||||
<string name="remind_to_bolus_later">Lembrete para bólus mais tarde</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Modo APS preferido</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
<string name="calculation_short">Calc</string>
|
||||
|
@ -819,7 +819,7 @@
|
|||
<string name="enablebolusadvisor_summary">Use lembrete para começar a comer mais tarde em vez di resultado do assistente durante a glicemia alta (\"pré-bolus\")</string>
|
||||
<string name="time_to_eat">Hora de comer!\nExecutar assistente de Bólus e fazer cálculo novamente.</string>
|
||||
<string name="timetoeat">Hora de comer</string>
|
||||
<string name="bolusreminder">Lembrete de bólus</string>
|
||||
<string name="bolus_reminder">Lembrete de bólus</string>
|
||||
<string name="enablebolusreminder">Ativar lembrete de bólus</string>
|
||||
<string name="enablebolusreminder_summary">Usar lembrete para bólus mais tarde com o assistente
|
||||
(\"pós-bólus\")</string>
|
||||
|
|
|
@ -659,7 +659,7 @@
|
|||
<string name="resettodefaults">Resetare la setările implicite</string>
|
||||
<string name="nsmalfunction">Funcționare incorectă a NSClient. Aveți în vedere un restart al NS și al NSClient.</string>
|
||||
<string name="time_offset">Decalaj</string>
|
||||
<string name="bolus_reminder">Amintește-mi sa fac bolus mai târziu</string>
|
||||
<string name="remind_to_bolus_later">Amintește-mi sa fac bolus mai târziu</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Modul APS preferat</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
<string name="calculation_short">Calc</string>
|
||||
|
@ -819,7 +819,7 @@
|
|||
<string name="enablebolusadvisor_summary">Folosește o alarma de reamintire pentru a începe sa mănânci mai târziu în loc de alerta de la calculatorul de bolus din timpul hiperglicemiei (\"pre-bolus\")</string>
|
||||
<string name="time_to_eat">Timpul sa mănânci!\nRuleaza Calculatorul de Bolus pentru a face calculele din nou.</string>
|
||||
<string name="timetoeat">Timpul sa mănânci</string>
|
||||
<string name="bolusreminder">Memento bolus</string>
|
||||
<string name="bolus_reminder">Memento bolus</string>
|
||||
<string name="enablebolusreminder">Activează memento bolus</string>
|
||||
<string name="enablebolusreminder_summary">Folosește memento pentru a bolusa mai târziu cu asistentul
|
||||
(\"post-bolus\")</string>
|
||||
|
|
|
@ -682,7 +682,7 @@
|
|||
<string name="resettodefaults">Восстановить значения по умолчанию</string>
|
||||
<string name="nsmalfunction">Некорректная работа NSClient. Возможно следует перезапустить NS и NSClient.</string>
|
||||
<string name="time_offset">Смещение по времени</string>
|
||||
<string name="bolus_reminder">Напомнить о болюсе позже</string>
|
||||
<string name="remind_to_bolus_later">Напомнить о болюсе позже</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Предпочитаемый режим APS</string>
|
||||
<string name="treatments_wizard_total_label">Итого</string>
|
||||
<string name="calculation_short">Кальк</string>
|
||||
|
@ -850,7 +850,7 @@
|
|||
<string name="enablebolusadvisor_summary">Используйте напоминание для того, чтобы начать есть позже, вместо того, чтобы воспользоваться помощником болюса на высоких значениях ГК (\"пре-болюс\")</string>
|
||||
<string name="time_to_eat">Пора есть!\nЗапустите помощник болюса снова для подсчета.</string>
|
||||
<string name="timetoeat">Пора есть</string>
|
||||
<string name="bolusreminder">Напоминание о болюсе</string>
|
||||
<string name="bolus_reminder">Напоминание о болюсе</string>
|
||||
<string name="enablebolusreminder">Включить напоминание о болюсе</string>
|
||||
<string name="enablebolusreminder_summary">Применить напоминание о болюсе с помощью мастера (постболюс)</string>
|
||||
<string name="time_to_bolus">Пора дать болюс!\nЗапустите помощник болюса и повторите расчет.</string>
|
||||
|
|
|
@ -692,7 +692,7 @@
|
|||
<string name="resettodefaults">Obnoviť predvolené</string>
|
||||
<string name="nsmalfunction">Chyba NSClienta. Zvážte reštart NS a NSClienta.</string>
|
||||
<string name="time_offset">Časový posun</string>
|
||||
<string name="bolus_reminder">Upozorniť na bolus neskôr</string>
|
||||
<string name="remind_to_bolus_later">Upozorniť na bolus neskôr</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Preferovaný režim APS</string>
|
||||
<string name="treatments_wizard_total_label">Spolu</string>
|
||||
<string name="calculation_short">Kalk</string>
|
||||
|
@ -864,7 +864,7 @@
|
|||
<string name="enablebolusadvisor_summary">Pri vysokej glykémii spustiť pripomienku namiesto výsledku z kalkulačky, aby ste začali jesť neskôr (tzv. \"prebolus\")</string>
|
||||
<string name="time_to_eat">Čas na jedlo!\nSpustite Bolusovú kalkulačku a urobte výpočet znova.</string>
|
||||
<string name="timetoeat">Čas na jedlo</string>
|
||||
<string name="bolusreminder">Pripomenutie bolusu</string>
|
||||
<string name="bolus_reminder">Pripomenutie bolusu</string>
|
||||
<string name="enablebolusreminder">Zapnúť pripomínanie bolusu</string>
|
||||
<string name="enablebolusreminder_summary">Použite pripomenutie pre neskorší bolus s kalkulačkou
|
||||
(\"oneskorený bolus\")</string>
|
||||
|
|
|
@ -664,7 +664,7 @@ Eversense-appen.</string>
|
|||
<string name="resettodefaults">Återställ standardinställningar</string>
|
||||
<string name="nsmalfunction">Fel på NSClient. Överväg att starta om NSClient och Nightscout-webbplatsen.</string>
|
||||
<string name="time_offset">KH-tid</string>
|
||||
<string name="bolus_reminder">Påminn om bolus senare</string>
|
||||
<string name="remind_to_bolus_later">Påminn om bolus senare</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Föredraget APS-läge</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
<string name="calculation_short">Kalkyl</string>
|
||||
|
@ -826,7 +826,7 @@ Eversense-appen.</string>
|
|||
<string name="enablebolusadvisor_summary">Få en påminnelse om att börja äta senare (istället för kalkylatorns resultat) om du ligger högt i BG</string>
|
||||
<string name="time_to_eat">Dags att äta!\nKör bolusguiden igen för ny beräkning.</string>
|
||||
<string name="timetoeat">Dags att äta</string>
|
||||
<string name="bolusreminder">Boluspåminnelse</string>
|
||||
<string name="bolus_reminder">Boluspåminnelse</string>
|
||||
<string name="enablebolusreminder">Aktivera boluspåminnelse</string>
|
||||
<string name="enablebolusreminder_summary">Använd påminnelse för att ge bolus senare
|
||||
(\"post-bolus\")</string>
|
||||
|
|
|
@ -679,7 +679,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
|
|||
<string name="resettodefaults">Varsayılanlara sıfırla</string>
|
||||
<string name="nsmalfunction">NSClient arızası. NS ve NSClient yeniden başlatmayı düşünün.</string>
|
||||
<string name="time_offset">Saat farkı</string>
|
||||
<string name="bolus_reminder">Bolusu daha sonra hatırlat</string>
|
||||
<string name="remind_to_bolus_later">Bolusu daha sonra hatırlat</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Tercih edilen APS modu</string>
|
||||
<string name="treatments_wizard_total_label">Toplam</string>
|
||||
<string name="calculation_short">Hesap</string>
|
||||
|
@ -846,7 +846,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
|
|||
<string name="enablebolusadvisor_summary">Yüksek glisemi sırasında sihirbaz sonucu yerine daha sonra yemeye başlamak için hatırlatıcı kullanın (\"pre-bolus\")</string>
|
||||
<string name="time_to_eat">Yemek zamanı!\nBolus sihirbazını çalıştırın ve yeniden hesaplama yapın.</string>
|
||||
<string name="timetoeat">Yemek zamanı</string>
|
||||
<string name="bolusreminder">Bolus hatırlatıcısı</string>
|
||||
<string name="bolus_reminder">Bolus hatırlatıcısı</string>
|
||||
<string name="enablebolusreminder">Bolus hatırlatıcıyı etkinleştir</string>
|
||||
<string name="enablebolusreminder_summary">Sihirbazla daha sonra bolus için hatırlatıcı kullanın
|
||||
(\"bolus sonrası\")</string>
|
||||
|
|
|
@ -669,7 +669,7 @@
|
|||
<string name="resettodefaults">重置为默认值</string>
|
||||
<string name="nsmalfunction">NSClient故障。 考虑Nightscout和NSClient重启。</string>
|
||||
<string name="time_offset">时区偏移</string>
|
||||
<string name="bolus_reminder">稍后提醒输注大剂量</string>
|
||||
<string name="remind_to_bolus_later">稍后提醒输注大剂量</string>
|
||||
<string name="setupwizard_preferred_aps_mode">首选的APS模式</string>
|
||||
<string name="treatments_wizard_total_label">总计</string>
|
||||
<string name="calculation_short">计算</string>
|
||||
|
@ -833,7 +833,7 @@
|
|||
<string name="enablebolusadvisor_summary">在高血糖期间(\"预测大剂量\"),使用延迟吃饭的提醒功能,来替代大剂量向导结果</string>
|
||||
<string name="time_to_eat">吃饭时间到了!\n请运行大剂量向导,然后进行计算。</string>
|
||||
<string name="timetoeat">吃饭时间</string>
|
||||
<string name="bolusreminder">大剂量提醒</string>
|
||||
<string name="bolus_reminder">大剂量提醒</string>
|
||||
<string name="enablebolusreminder">启用大剂量提醒</string>
|
||||
<string name="enablebolusreminder_summary">使用大剂量向导稍后推注的提醒功能
|
||||
(“稍后注射大剂量”)</string>
|
||||
|
|
|
@ -108,9 +108,7 @@
|
|||
<string name="tempbasals_netinsulin_label_string">Ins:</string>
|
||||
<string name="tempbasals_iob_label_string">IOB:</string>
|
||||
<string name="tempbasals_iobtotal_label_string">Total IOB:</string>
|
||||
<string name="treatments_wizard_bg_label">BG</string>
|
||||
<string name="treatments_wizard_tt_label">TT</string>
|
||||
<string name="treatments_wizard_carbs_label">Carbs</string>
|
||||
<string name="treatments_wizard_correction_label">Corr</string>
|
||||
<string name="bolus_iob_label">Bolus IOB</string>
|
||||
<string name="openapsma_run">Run now</string>
|
||||
|
@ -151,11 +149,9 @@
|
|||
<string name="safety">Safety</string>
|
||||
<string name="openapsma_disabled">Plugin is disabled</string>
|
||||
<string name="constraints_violation">Constraints violation</string>
|
||||
<string name="treatmentdeliveryerror">Bolus reported an error. Manually check real delivered amount</string>
|
||||
<string name="setbasalquestion">Accept new temp basal:</string>
|
||||
<string name="overview_treatment_label">Treatment</string>
|
||||
<string name="overview_calculator_label">Calculator</string>
|
||||
<string name="constraintapllied">Constraint applied!</string>
|
||||
<string name="sms_bolus">Bolus:</string>
|
||||
<string name="sms_basal">Basal:</string>
|
||||
<string name="changeyourinput">Change your input!</string>
|
||||
|
@ -171,8 +167,6 @@
|
|||
<string name="carbssuggestion">Carbs Suggestion</string>
|
||||
<string name="unsupportednsversion">Unsupported version of Nightscout</string>
|
||||
<string name="treatments_wizard_basaliob_label">Basal IOB</string>
|
||||
<string name="bolusconstraintapplied">Bolus constraint applied</string>
|
||||
<string name="carbsconstraintapplied">Carbs constraint applied</string>
|
||||
<string name="careportal_newnstreatment_other">Other</string>
|
||||
<string name="careportal_newnstreatment_meter">Meter</string>
|
||||
<string name="careportal_newnstreatment_sensor">Sensor</string>
|
||||
|
@ -345,9 +339,6 @@
|
|||
<string name="openapsama_link_to_preferncejson_doc_txt">Attention!\nNormally you do not have to change these values below. Please CLICK HERE and READ the text and make sure you UNDERSTAND it before change any of these values.</string>
|
||||
<string name="openapsama_link_to_preferncejson_doc" translatable="false">http://openaps.readthedocs.io/en/latest/docs/walkthrough/phase-3/beyond-low-glucose-suspend.html</string>
|
||||
<string name="smscommunicator_invalidphonennumber">Invalid SMS phone number</string>
|
||||
<string name="overview_calibration">Calibration</string>
|
||||
<string name="xdripnotinstalled">xDrip+ not installed</string>
|
||||
<string name="calibrationsent">Calibration sent to xDrip+</string>
|
||||
<string name="smscommunicator_calibrationsent">Calibration sent. Receiving must be enabled in xDrip+.</string>
|
||||
<string name="smscommunicator_calibrationfailed">xDrip+ is not receiving calibrations</string>
|
||||
<string name="pumpsuspended">Pump suspended</string>
|
||||
|
@ -496,7 +487,6 @@
|
|||
<string name="openapsama_autosens_period">Interval for autosens [h]</string>
|
||||
<string name="openapsama_autosens_period_summary">Amount of hours in the past for sensitivity detection (carbs absorption time is excluded)</string>
|
||||
<string name="key_openapsama_autosens_period" translatable="false">openapsama_autosens_period</string>
|
||||
<string name="key_nsclient_localbroadcasts" translatable="false">nsclient_localbroadcasts</string>
|
||||
<string name="openaps">OpenAPS</string>
|
||||
<string name="uploader">Uploader</string>
|
||||
<string name="configbuilder_sensitivity">Sensitivity detection</string>
|
||||
|
@ -593,7 +583,6 @@
|
|||
<string name="carbsReqThreshold">Minimum Carbs Required For Suggestion</string>
|
||||
<string name="carbsReqThreshold_summary">Minimum grams of carbs to display a carbs suggestion alert. Carbs suggestions below this number will not trigger a notification.</string>
|
||||
<string name="dexcomg5_xdripupload_title">Send BG data to xDrip+</string>
|
||||
<string name="key_dexcomg5_xdripupload" translatable="false">dexcomg5_xdripupload</string>
|
||||
<string name="dexcomg5_xdripupload_summary">In xDrip+ select 640g/Eversense data source</string>
|
||||
<string name="nsclientbg">NSClient BG</string>
|
||||
<string name="nsclientbgshort">NS BG</string>
|
||||
|
@ -642,9 +631,6 @@
|
|||
<string name="key_insulin_button_increment_1" translatable="false">insulin_button_increment_1</string>
|
||||
<string name="key_insulin_button_increment_2" translatable="false">insulin_button_increment_2</string>
|
||||
<string name="key_insulin_button_increment_3" translatable="false">insulin_button_increment_3</string>
|
||||
<string name="key_carbs_button_increment_1" translatable="false">carbs_button_increment_1</string>
|
||||
<string name="key_carbs_button_increment_2" translatable="false">carbs_button_increment_2</string>
|
||||
<string name="key_carbs_button_increment_3" translatable="false">carbs_button_increment_3</string>
|
||||
<string name="carb_increment_button_message">Number of carbs to add when button is pressed</string>
|
||||
<string name="insulin_increment_button_message">Amount of insulin to add when button is pressed</string>
|
||||
<string name="error_starting_cgm">Could not launch CGM application. Make sure it is installed.</string>
|
||||
|
@ -671,7 +657,6 @@
|
|||
<string name="dexcom_app_not_installed">Dexcom app is not installed.</string>
|
||||
<string name="start_activity_tt">Start Activity TT</string>
|
||||
<string name="start_eating_soon_tt">Start Eating soon TT</string>
|
||||
<string name="temptargetshort">TT</string>
|
||||
<string name="do_not_bolus_record_only">Do not bolus, record only</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="subcategory">Subcategory</string>
|
||||
|
@ -684,7 +669,6 @@
|
|||
<string name="overview_show_cob">Carbs On Board</string>
|
||||
<string name="overview_show_iob">Insulin On Board</string>
|
||||
<string name="overview_show_basals">Basals</string>
|
||||
<string name="no_action_selected">No action selected, nothing will happen</string>
|
||||
<string name="start_hypo_tt">Start Hypo TT</string>
|
||||
<string name="closed_loop_disabled_on_dev_branch">Running dev version. Closed loop is disabled.</string>
|
||||
<string name="engineering_mode_enabled">Engineering mode enabled</string>
|
||||
|
@ -846,7 +830,7 @@
|
|||
<string name="resettodefaults">Reset to defaults</string>
|
||||
<string name="nsmalfunction">NSClient malfunction. Consider NS and NSClient restart.</string>
|
||||
<string name="time_offset">Time offset</string>
|
||||
<string name="bolus_reminder">Remind to bolus later</string>
|
||||
<string name="remind_to_bolus_later">Remind to bolus later</string>
|
||||
<string name="key_aps_mode" translatable="false">aps_mode</string>
|
||||
<string name="setupwizard_preferred_aps_mode">Preferred APS mode</string>
|
||||
<string name="treatments_wizard_total_label">Total</string>
|
||||
|
@ -1048,20 +1032,10 @@
|
|||
<string name="smscommunicator_report_pump_ureachable_summary">Send SMS if unreachable pump event is triggered</string>
|
||||
<string name="smscommunicator_pump_ureachable">Report pump unreachable</string>
|
||||
<string name="advisoralarm">Run alarm when is time to eat</string>
|
||||
<string name="alarminxmin">Run alarm in %1$d min</string>
|
||||
<string name="bolusadvisor">Bolus advisor</string>
|
||||
<string name="bolusadvisormessage">You have high glycemia. Instead of eating now it\'s recommended to wait for better glycemia. Do you want to do a correction bolus now and remind you when it\'s time to eat? In this case no carbs will be recorded and you must use wizard again when we remind you.</string>
|
||||
<string name="key_usebolusadvisor" translatable="false">use_bolus_advisor</string>
|
||||
<string name="enablebolusadvisor">Enable bolus advisor</string>
|
||||
<string name="enablebolusadvisor_summary">Use reminder to start eating later instead of wizard result during high glycemia ("pre-bolus")</string>
|
||||
<string name="time_to_eat">Time to eat!\nRun Bolus wizard and do calculation again.</string>
|
||||
<string name="timetoeat">Time to eat</string>
|
||||
<string name="bolusreminder">Bolus reminder</string>
|
||||
<string name="key_usebolusreminder" translatable="false">use_bolus_reminder</string>
|
||||
<string name="enablebolusreminder">Enable bolus reminder</string>
|
||||
<string name="enablebolusreminder_summary">Use reminder to bolus later with wizard
|
||||
("post-bolus")</string>
|
||||
<string name="time_to_bolus">Time to bolus!\nRun Bolus wizard and do calculation again.</string>
|
||||
<string name="enablebolusreminder_summary">Use reminder to bolus later with wizard ("post-bolus")</string>
|
||||
<string name="fabric_upload_disabled">Crash logs upload disabled!</string>
|
||||
<string name="graph_menu_divider_header">Graph</string>
|
||||
<string name="chart_menu">Chart menu</string>
|
||||
|
@ -1219,7 +1193,6 @@
|
|||
<string name="show_loop">Show loop</string>
|
||||
<string name="count_selected">%1$d selected</string>
|
||||
<string name="sort_label">Sort</string>
|
||||
<string name="dialog_canceled">Dialog canceled</string>
|
||||
<string name="veryLow" comment="below 3.1">Very low</string>
|
||||
<string name="low" comment="3.1-3.9">Low</string>
|
||||
<string name="high" comment="10.0-13.9">High</string>
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
android:defaultValue="true"
|
||||
android:key="@string/key_show_calibration_button"
|
||||
android:summary="@string/show_calibration_button_summary"
|
||||
android:title="@string/overview_calibration" />
|
||||
android:title="@string/calibration" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
||||
|
@ -489,8 +489,8 @@
|
|||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/key_usebolusadvisor"
|
||||
android:summary="@string/enablebolusadvisor_summary"
|
||||
android:title="@string/enablebolusadvisor" />
|
||||
android:summary="@string/enable_bolus_advisor_summary"
|
||||
android:title="@string/enable_bolus_advisor" />
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
android:defaultValue="true"
|
||||
android:dependency="@string/key_wear_control"
|
||||
android:key="@string/key_wearwizard_bg"
|
||||
android:title="@string/treatments_wizard_bg_label" />
|
||||
android:title="@string/bg_label" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
|
|
|
@ -29,7 +29,7 @@ import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin
|
|||
import info.nightscout.androidaps.queue.Callback
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import org.junit.Assert
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package info.nightscout.androidaps.interfaces
|
||||
|
||||
interface BolusTimer {
|
||||
|
||||
/**
|
||||
* Create new Automation event to alarm when is time to bolus
|
||||
*/
|
||||
fun scheduleAutomationEventBolusReminder()
|
||||
|
||||
/**
|
||||
* Remove Automation event
|
||||
*/
|
||||
fun removeAutomationEventBolusReminder()
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package info.nightscout.androidaps.interfaces
|
||||
|
||||
interface CarbTimer {
|
||||
|
||||
/**
|
||||
* Generate reminder via [info.nightscout.androidaps.utils.TimerUtil]
|
||||
*
|
||||
* @param seconds seconds to the future
|
||||
*/
|
||||
fun scheduleTimeToEatReminder(seconds: Int)
|
||||
|
||||
/**
|
||||
* Create new Automation event to alarm when is time to eat
|
||||
*/
|
||||
fun scheduleAutomationEventEatReminder()
|
||||
|
||||
/**
|
||||
* Remove Automation event
|
||||
*/
|
||||
fun removeAutomationEventEatReminder()
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package info.nightscout.androidaps.interfaces
|
||||
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
|
||||
interface XDripBroadcast {
|
||||
fun sendCalibration(bg: Double): Boolean
|
||||
fun send(glucoseValue: GlucoseValue)
|
||||
fun sendProfile(profileStoreJson: JSONObject)
|
||||
fun sendTreatments(addedOrUpdatedTreatments: JSONArray)
|
||||
fun sendSgvs(sgvs: JSONArray)
|
||||
}
|
|
@ -3,16 +3,12 @@ package info.nightscout.androidaps.utils
|
|||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.provider.AlarmClock
|
||||
import info.nightscout.androidaps.core.R
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class TimerUtil @Inject constructor(
|
||||
private val context: Context,
|
||||
private val rh: ResourceHelper,
|
||||
private val dateUtil: DateUtil
|
||||
private val context: Context
|
||||
) {
|
||||
|
||||
/**
|
||||
|
|
|
@ -74,6 +74,12 @@
|
|||
<string name="key_autotune_additional_log" translatable="false">autotune_additional_log</string>
|
||||
<string name="key_autotune_plugin" translatable="false">key_autotune_plugin</string>
|
||||
<string name="key_autotune_last_run" translatable="false">key_autotune_last_run</string>
|
||||
<string name="key_dexcomg5_xdripupload" translatable="false">dexcomg5_xdripupload</string>
|
||||
<string name="key_nsclient_localbroadcasts" translatable="false">nsclient_localbroadcasts</string>
|
||||
<string name="key_usebolusreminder" translatable="false">use_bolus_reminder</string>
|
||||
<string name="key_carbs_button_increment_1" translatable="false">carbs_button_increment_1</string>
|
||||
<string name="key_carbs_button_increment_2" translatable="false">carbs_button_increment_2</string>
|
||||
<string name="key_carbs_button_increment_3" translatable="false">carbs_button_increment_3</string>
|
||||
|
||||
<!-- General-->
|
||||
<string name="refresh">Refresh</string>
|
||||
|
@ -188,6 +194,11 @@
|
|||
<string name="addnew">Add new</string>
|
||||
<string name="addnew_above">Add new above</string>
|
||||
<string name="wrong_pump_data">Data is coming from different pump. Change pump driver to reset pump state.</string>
|
||||
<string name="bg_label">BG</string>
|
||||
<string name="calibration">Calibration</string>
|
||||
<string name="alarminxmin">Run alarm in %1$d min</string>
|
||||
<string name="treatmentdeliveryerror">Bolus reported an error. Manually check real delivered amount</string>
|
||||
<string name="bolus_reminder">Bolus reminder</string>
|
||||
|
||||
<!-- Constraints-->
|
||||
<string name="limitingbasalratio">Limiting max basal rate to %1$.2f U/h because of %2$s</string>
|
||||
|
|
1
implementation/.gitignore
vendored
Normal file
1
implementation/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/build
|
20
implementation/build.gradle
Normal file
20
implementation/build.gradle
Normal file
|
@ -0,0 +1,20 @@
|
|||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'kotlin-allopen'
|
||||
apply plugin: 'com.hiya.jacoco-android'
|
||||
|
||||
apply from: "${project.rootDir}/core/android_dependencies.gradle"
|
||||
apply from: "${project.rootDir}/core/android_module_dependencies.gradle"
|
||||
apply from: "${project.rootDir}/core/test_dependencies.gradle"
|
||||
apply from: "${project.rootDir}/core/jacoco_global.gradle"
|
||||
android {
|
||||
namespace 'info.nightscout.implementation'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
implementation project(':shared')
|
||||
implementation project(':database')
|
||||
implementation project(':automation')
|
||||
}
|
0
implementation/consumer-rules.pro
Normal file
0
implementation/consumer-rules.pro
Normal file
21
implementation/proguard-rules.pro
vendored
Normal file
21
implementation/proguard-rules.pro
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
4
implementation/src/main/AndroidManifest.xml
Normal file
4
implementation/src/main/AndroidManifest.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
</manifest>
|
|
@ -1,7 +1,7 @@
|
|||
package info.nightscout.androidaps.utils
|
||||
package info.nightscout.implementation
|
||||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.BolusTimer
|
||||
import info.nightscout.androidaps.interfaces.GlucoseUnit
|
||||
import info.nightscout.androidaps.plugins.general.automation.AutomationEvent
|
||||
import info.nightscout.androidaps.plugins.general.automation.AutomationPlugin
|
||||
|
@ -17,15 +17,15 @@ import javax.inject.Inject
|
|||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class BolusTimer @Inject constructor(
|
||||
class BolusTimerImpl @Inject constructor(
|
||||
private val injector: HasAndroidInjector,
|
||||
private val rh: ResourceHelper,
|
||||
private val automationPlugin: AutomationPlugin,
|
||||
) {
|
||||
) : BolusTimer {
|
||||
|
||||
fun scheduleBolusReminder() {
|
||||
override fun scheduleAutomationEventBolusReminder() {
|
||||
val event = AutomationEvent(injector).apply {
|
||||
title = rh.gs(R.string.bolusreminder)
|
||||
title = rh.gs(R.string.bolus_reminder)
|
||||
readOnly = true
|
||||
systemAction = true
|
||||
autoRemove = true
|
||||
|
@ -46,9 +46,9 @@ class BolusTimer @Inject constructor(
|
|||
automationPlugin.addIfNotExists(event)
|
||||
}
|
||||
|
||||
fun removeBolusReminder() {
|
||||
override fun removeAutomationEventBolusReminder() {
|
||||
val event = AutomationEvent(injector).apply {
|
||||
title = rh.gs(R.string.bolusreminder)
|
||||
title = rh.gs(R.string.bolus_reminder)
|
||||
}
|
||||
automationPlugin.removeIfExists(event)
|
||||
}
|
|
@ -1,35 +1,44 @@
|
|||
package info.nightscout.androidaps.utils
|
||||
package info.nightscout.implementation
|
||||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.CarbTimer
|
||||
import info.nightscout.androidaps.interfaces.GlucoseUnit
|
||||
import info.nightscout.androidaps.plugins.general.automation.AutomationEvent
|
||||
import info.nightscout.androidaps.plugins.general.automation.AutomationPlugin
|
||||
import info.nightscout.androidaps.plugins.general.automation.actions.ActionAlarm
|
||||
import info.nightscout.androidaps.plugins.general.automation.elements.Comparator
|
||||
import info.nightscout.androidaps.plugins.general.automation.elements.InputDelta
|
||||
import info.nightscout.androidaps.plugins.general.automation.triggers.TriggerBg
|
||||
import info.nightscout.androidaps.plugins.general.automation.triggers.TriggerConnector
|
||||
import info.nightscout.androidaps.plugins.general.automation.triggers.TriggerDelta
|
||||
import info.nightscout.androidaps.plugins.general.automation.elements.Comparator
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.androidaps.utils.TimerUtil
|
||||
import java.text.DecimalFormat
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class CarbTimer @Inject constructor(
|
||||
class CarbTimerImpl @Inject constructor(
|
||||
private val injector: HasAndroidInjector,
|
||||
private val rh: ResourceHelper,
|
||||
private val automationPlugin: AutomationPlugin,
|
||||
private val timerUtil: TimerUtil
|
||||
) {
|
||||
) : CarbTimer {
|
||||
|
||||
fun scheduleReminder(seconds: Int, text: String? = null) =
|
||||
timerUtil.scheduleReminder(seconds, text ?: rh.gs(R.string.timetoeat))
|
||||
/**
|
||||
* Generate reminder via [info.nightscout.androidaps.utils.TimerUtil]
|
||||
*
|
||||
* @param seconds seconds to the future
|
||||
*/
|
||||
override fun scheduleTimeToEatReminder(seconds: Int) =
|
||||
timerUtil.scheduleReminder(seconds, rh.gs(R.string.time_to_eat))
|
||||
|
||||
fun scheduleEatReminder() {
|
||||
/**
|
||||
* Create new Automation event to alarm when is time to eat
|
||||
*/
|
||||
override fun scheduleAutomationEventEatReminder() {
|
||||
val event = AutomationEvent(injector).apply {
|
||||
title = rh.gs(R.string.bolusadvisor)
|
||||
title = rh.gs(R.string.bolus_advisor)
|
||||
readOnly = true
|
||||
systemAction = true
|
||||
autoRemove = true
|
||||
|
@ -60,9 +69,12 @@ class CarbTimer @Inject constructor(
|
|||
automationPlugin.addIfNotExists(event)
|
||||
}
|
||||
|
||||
fun removeEatReminder() {
|
||||
/**
|
||||
* Remove Automation event
|
||||
*/
|
||||
override fun removeAutomationEventEatReminder() {
|
||||
val event = AutomationEvent(injector).apply {
|
||||
title = rh.gs(R.string.bolusadvisor)
|
||||
title = rh.gs(R.string.bolus_advisor)
|
||||
}
|
||||
automationPlugin.removeIfExists(event)
|
||||
}
|
|
@ -1,16 +1,17 @@
|
|||
package info.nightscout.androidaps.utils
|
||||
package info.nightscout.implementation
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.annotations.OpenForTesting
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.extensions.safeQueryBroadcastReceivers
|
||||
import info.nightscout.androidaps.interfaces.GlucoseUnit
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.receivers.Intents
|
||||
import info.nightscout.androidaps.utils.ToastUtils
|
||||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
|
@ -25,15 +26,15 @@ import javax.inject.Singleton
|
|||
@Suppress("SpellCheckingInspection")
|
||||
@OpenForTesting
|
||||
@Singleton
|
||||
class XDripBroadcast @Inject constructor(
|
||||
class XDripBroadcastImpl @Inject constructor(
|
||||
private val context: Context,
|
||||
private val aapsLogger: AAPSLogger,
|
||||
private val sp: SP,
|
||||
private val rh: ResourceHelper,
|
||||
private val profileFunction: ProfileFunction
|
||||
) {
|
||||
) : XDripBroadcast {
|
||||
|
||||
fun sendCalibration(bg: Double): Boolean {
|
||||
override fun sendCalibration(bg: Double): Boolean {
|
||||
val bundle = Bundle()
|
||||
bundle.putDouble("glucose_number", bg)
|
||||
bundle.putString("units", if (profileFunction.getUnits() == GlucoseUnit.MGDL) "mgdl" else "mmol")
|
||||
|
@ -44,18 +45,18 @@ class XDripBroadcast @Inject constructor(
|
|||
context.sendBroadcast(intent)
|
||||
val q = context.packageManager.safeQueryBroadcastReceivers(intent, 0)
|
||||
return if (q.isEmpty()) {
|
||||
ToastUtils.errorToast(context, R.string.xdripnotinstalled)
|
||||
aapsLogger.debug(rh.gs(R.string.xdripnotinstalled))
|
||||
ToastUtils.errorToast(context, R.string.xdrip_not_installed)
|
||||
aapsLogger.debug(rh.gs(R.string.xdrip_not_installed))
|
||||
false
|
||||
} else {
|
||||
ToastUtils.errorToast(context, R.string.calibrationsent)
|
||||
aapsLogger.debug(rh.gs(R.string.calibrationsent))
|
||||
ToastUtils.errorToast(context, R.string.calibration_sent)
|
||||
aapsLogger.debug(rh.gs(R.string.calibration_sent))
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
// sent in 640G mode
|
||||
fun send(glucoseValue: GlucoseValue) {
|
||||
override fun send(glucoseValue: GlucoseValue) {
|
||||
if (sp.getBoolean(R.string.key_dexcomg5_xdripupload, false)) {
|
||||
val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US)
|
||||
try {
|
||||
|
@ -89,7 +90,7 @@ class XDripBroadcast @Inject constructor(
|
|||
}
|
||||
|
||||
// sent in NSClient dbaccess mode
|
||||
fun sendProfile(profileStoreJson: JSONObject) {
|
||||
override fun sendProfile(profileStoreJson: JSONObject) {
|
||||
if (sp.getBoolean(R.string.key_nsclient_localbroadcasts, false))
|
||||
broadcast(
|
||||
Intent(Intents.ACTION_NEW_PROFILE).apply {
|
||||
|
@ -101,7 +102,7 @@ class XDripBroadcast @Inject constructor(
|
|||
}
|
||||
|
||||
// sent in NSClient dbaccess mode
|
||||
fun sendTreatments(addedOrUpdatedTreatments: JSONArray) {
|
||||
override fun sendTreatments(addedOrUpdatedTreatments: JSONArray) {
|
||||
if (sp.getBoolean(R.string.key_nsclient_localbroadcasts, false))
|
||||
splitArray(addedOrUpdatedTreatments).forEach { part ->
|
||||
broadcast(
|
||||
|
@ -114,7 +115,7 @@ class XDripBroadcast @Inject constructor(
|
|||
}
|
||||
|
||||
// sent in NSClient dbaccess mode
|
||||
fun sendSgvs(sgvs: JSONArray) {
|
||||
override fun sendSgvs(sgvs: JSONArray) {
|
||||
if (sp.getBoolean(R.string.key_nsclient_localbroadcasts, false))
|
||||
splitArray(sgvs).forEach { part ->
|
||||
broadcast(
|
15
implementation/src/main/res/values/strings.xml
Normal file
15
implementation/src/main/res/values/strings.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="xdrip_not_installed">xDrip+ not installed</string>
|
||||
<string name="calibration_sent">Calibration sent to xDrip+</string>
|
||||
|
||||
<string name="bg_label">BG</string>
|
||||
|
||||
<string name="time_to_eat">Time to eat</string>
|
||||
<string name="enable_bolus_advisor">Enable bolus advisor</string>
|
||||
<string name="enable_bolus_advisor_summary">Use reminder to start eating later instead of wizard result during high glycemia ("pre-bolus")</string>
|
||||
<string name="bolus_advisor">Bolus advisor</string>
|
||||
<string name="bolus_advisor_message">You have high glycemia. Instead of eating now it\'s recommended to wait for better glycemia. Do you want to do a correction bolus now and remind you when it\'s time to eat? In this case no carbs will be recorded and you must use wizard again when we remind you.</string>
|
||||
<string name="time_to_bolus">Time to bolus!\nRun Bolus wizard and do calculation again.</string>
|
||||
|
||||
</resources>
|
|
@ -18,4 +18,6 @@ include ':diaconn'
|
|||
include ':openhumans'
|
||||
include ':shared'
|
||||
include ':graphview'
|
||||
include ':libraries'
|
||||
include ':libraries'
|
||||
include ':ui'
|
||||
include ':implementation'
|
||||
|
|
1
ui/.gitignore
vendored
Normal file
1
ui/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/build
|
19
ui/build.gradle
Normal file
19
ui/build.gradle
Normal file
|
@ -0,0 +1,19 @@
|
|||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'kotlin-allopen'
|
||||
apply plugin: 'com.hiya.jacoco-android'
|
||||
|
||||
apply from: "${project.rootDir}/core/android_dependencies.gradle"
|
||||
apply from: "${project.rootDir}/core/android_module_dependencies.gradle"
|
||||
apply from: "${project.rootDir}/core/test_dependencies.gradle"
|
||||
apply from: "${project.rootDir}/core/jacoco_global.gradle"
|
||||
android {
|
||||
namespace 'info.nightscout.ui'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
implementation project(':shared')
|
||||
implementation project(':database')
|
||||
}
|
0
ui/consumer-rules.pro
Normal file
0
ui/consumer-rules.pro
Normal file
21
ui/proguard-rules.pro
vendored
Normal file
21
ui/proguard-rules.pro
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
4
ui/src/main/AndroidManifest.xml
Normal file
4
ui/src/main/AndroidManifest.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
</manifest>
|
14
ui/src/main/java/info/nightscout/ui/di/UiModule.kt
Normal file
14
ui/src/main/java/info/nightscout/ui/di/UiModule.kt
Normal file
|
@ -0,0 +1,14 @@
|
|||
package info.nightscout.ui.di
|
||||
|
||||
import dagger.Module
|
||||
import dagger.android.ContributesAndroidInjector
|
||||
import info.nightscout.ui.dialogs.CalibrationDialog
|
||||
import info.nightscout.ui.dialogs.CarbsDialog
|
||||
|
||||
@Module
|
||||
@Suppress("unused")
|
||||
abstract class UiModule {
|
||||
|
||||
@ContributesAndroidInjector abstract fun contributesCalibrationDialog(): CalibrationDialog
|
||||
@ContributesAndroidInjector abstract fun contributesCarbsDialog(): CarbsDialog
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package info.nightscout.androidaps.dialogs
|
||||
package info.nightscout.ui.dialogs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -6,20 +6,21 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import com.google.common.base.Joiner
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.ui.R
|
||||
import info.nightscout.ui.databinding.DialogCalibrationBinding
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.database.entities.ValueWithUnit
|
||||
import info.nightscout.androidaps.databinding.DialogCalibrationBinding
|
||||
import info.nightscout.androidaps.dialogs.DialogFragmentWithDate
|
||||
import info.nightscout.androidaps.interfaces.GlucoseUnit
|
||||
import info.nightscout.androidaps.interfaces.Profile
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.androidaps.interfaces.XDripBroadcast
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider
|
||||
import info.nightscout.androidaps.utils.HtmlHelper
|
||||
import info.nightscout.androidaps.utils.XDripBroadcast
|
||||
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import java.text.DecimalFormat
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
|
@ -44,8 +45,10 @@ class CalibrationDialog : DialogFragmentWithDate() {
|
|||
savedInstanceState.putDouble("bg", binding.bg.value)
|
||||
}
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?): View {
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
onCreateViewGeneral()
|
||||
_binding = DialogCalibrationBinding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
|
@ -55,14 +58,20 @@ class CalibrationDialog : DialogFragmentWithDate() {
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
val units = profileFunction.getUnits()
|
||||
val bg = Profile.fromMgdlToUnits(glucoseStatusProvider.glucoseStatusData?.glucose
|
||||
?: 0.0, units)
|
||||
val bg = Profile.fromMgdlToUnits(
|
||||
glucoseStatusProvider.glucoseStatusData?.glucose
|
||||
?: 0.0, units
|
||||
)
|
||||
if (units == GlucoseUnit.MMOL)
|
||||
binding.bg.setParams(savedInstanceState?.getDouble("bg")
|
||||
?: bg, 2.0, 30.0, 0.1, DecimalFormat("0.0"), false, binding.okcancel.ok)
|
||||
binding.bg.setParams(
|
||||
savedInstanceState?.getDouble("bg")
|
||||
?: bg, 2.0, 30.0, 0.1, DecimalFormat("0.0"), false, binding.okcancel.ok
|
||||
)
|
||||
else
|
||||
binding.bg.setParams(savedInstanceState?.getDouble("bg")
|
||||
?: bg, 36.0, 500.0, 1.0, DecimalFormat("0"), false, binding.okcancel.ok)
|
||||
binding.bg.setParams(
|
||||
savedInstanceState?.getDouble("bg")
|
||||
?: bg, 36.0, 500.0, 1.0, DecimalFormat("0"), false, binding.okcancel.ok
|
||||
)
|
||||
binding.units.text = if (units == GlucoseUnit.MMOL) rh.gs(R.string.mmol) else rh.gs(R.string.mgdl)
|
||||
binding.bgLabel.labelFor = binding.bg.editTextId
|
||||
}
|
||||
|
@ -78,17 +87,17 @@ class CalibrationDialog : DialogFragmentWithDate() {
|
|||
val unitLabel = if (units == GlucoseUnit.MMOL) rh.gs(R.string.mmol) else rh.gs(R.string.mgdl)
|
||||
val actions: LinkedList<String?> = LinkedList()
|
||||
val bg = binding.bg.value
|
||||
actions.add(rh.gs(R.string.treatments_wizard_bg_label) + ": " + Profile.toCurrentUnitsString(profileFunction, bg) + " " + unitLabel)
|
||||
actions.add(rh.gs(R.string.bg_label) + ": " + Profile.toCurrentUnitsString(profileFunction, bg) + " " + unitLabel)
|
||||
if (bg > 0) {
|
||||
activity?.let { activity ->
|
||||
OKDialog.showConfirmation(activity, rh.gs(R.string.overview_calibration), HtmlHelper.fromHtml(Joiner.on("<br/>").join(actions)), {
|
||||
OKDialog.showConfirmation(activity, rh.gs(R.string.calibration), HtmlHelper.fromHtml(Joiner.on("<br/>").join(actions)), {
|
||||
uel.log(Action.CALIBRATION, Sources.CalibrationDialog, ValueWithUnit.fromGlucoseUnit(bg, units.asText))
|
||||
xDripBroadcast.sendCalibration(bg)
|
||||
})
|
||||
}
|
||||
} else
|
||||
activity?.let { activity ->
|
||||
OKDialog.show(activity, rh.gs(R.string.overview_calibration), rh.gs(R.string.no_action_selected))
|
||||
OKDialog.show(activity, rh.gs(R.string.calibration), rh.gs(R.string.no_action_selected))
|
||||
}
|
||||
return true
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package info.nightscout.androidaps.dialogs
|
||||
package info.nightscout.ui.dialogs
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
|
@ -8,7 +8,6 @@ import android.view.LayoutInflater
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.google.common.base.Joiner
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.ErrorHelperActivity
|
||||
import info.nightscout.androidaps.data.DetailedBolusInfo
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
|
@ -17,7 +16,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.database.entities.ValueWithUnit
|
||||
import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction
|
||||
import info.nightscout.androidaps.databinding.DialogCarbsBinding
|
||||
import info.nightscout.androidaps.dialogs.DialogFragmentWithDate
|
||||
import info.nightscout.androidaps.extensions.formatColor
|
||||
import info.nightscout.androidaps.interfaces.*
|
||||
import info.nightscout.shared.logging.LTag
|
||||
|
@ -30,6 +29,8 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
|||
import info.nightscout.androidaps.utils.protection.ProtectionCheck
|
||||
import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS
|
||||
import info.nightscout.androidaps.interfaces.ResourceHelper
|
||||
import info.nightscout.ui.R
|
||||
import info.nightscout.ui.databinding.DialogCarbsBinding
|
||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||
import io.reactivex.rxjava3.kotlin.plusAssign
|
||||
import java.text.DecimalFormat
|
||||
|
@ -78,15 +79,15 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
val time = binding.time.value.toInt()
|
||||
if (time > 12 * 60 || time < -7 * 24 * 60) {
|
||||
binding.time.value = 0.0
|
||||
ToastUtils.warnToast(ctx, R.string.constraintapllied)
|
||||
ToastUtils.warnToast(ctx, R.string.constraint_applied)
|
||||
}
|
||||
if (binding.duration.value > 10) {
|
||||
binding.duration.value = 0.0
|
||||
ToastUtils.warnToast(ctx, R.string.constraintapllied)
|
||||
ToastUtils.warnToast(ctx, R.string.constraint_applied)
|
||||
}
|
||||
if (binding.carbs.value.toInt() > maxCarbs) {
|
||||
binding.carbs.value = 0.0
|
||||
ToastUtils.warnToast(ctx, R.string.carbsconstraintapplied)
|
||||
ToastUtils.warnToast(ctx, R.string.carbs_constraint_applied)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,7 +144,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
)
|
||||
val plus1text = toSignedString(sp.getInt(R.string.key_carbs_button_increment_1, FAV1_DEFAULT))
|
||||
binding.plus1.text = plus1text
|
||||
binding.plus1.contentDescription = rh.gs(R.string.treatments_wizard_carbs_label) + " " + plus1text
|
||||
binding.plus1.contentDescription = rh.gs(R.string.carbs) + " " + plus1text
|
||||
binding.plus1.setOnClickListener {
|
||||
binding.carbs.value = max(
|
||||
0.0, binding.carbs.value
|
||||
|
@ -155,7 +156,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
|
||||
val plus2text = toSignedString(sp.getInt(R.string.key_carbs_button_increment_2, FAV2_DEFAULT))
|
||||
binding.plus2.text = plus2text
|
||||
binding.plus2.contentDescription = rh.gs(R.string.treatments_wizard_carbs_label) + " " + plus2text
|
||||
binding.plus2.contentDescription = rh.gs(R.string.carbs) + " " + plus2text
|
||||
binding.plus2.setOnClickListener {
|
||||
binding.carbs.value = max(
|
||||
0.0, binding.carbs.value
|
||||
|
@ -166,7 +167,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
}
|
||||
val plus3text = toSignedString(sp.getInt(R.string.key_carbs_button_increment_3, FAV3_DEFAULT))
|
||||
binding.plus3.text = plus3text
|
||||
binding.plus2.contentDescription = rh.gs(R.string.treatments_wizard_carbs_label) + " " + plus3text
|
||||
binding.plus2.contentDescription = rh.gs(R.string.carbs) + " " + plus3text
|
||||
binding.plus3.setOnClickListener {
|
||||
binding.carbs.value = max(
|
||||
0.0, binding.carbs.value
|
||||
|
@ -233,7 +234,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
val activitySelected = binding.activityTt.isChecked
|
||||
if (activitySelected)
|
||||
actions.add(
|
||||
rh.gs(R.string.temptargetshort) + ": " + (DecimalFormatter.to1Decimal(activityTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, activityTTDuration) + ")").formatColor(
|
||||
rh.gs(R.string.temp_target_short) + ": " + (DecimalFormatter.to1Decimal(activityTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, activityTTDuration) + ")").formatColor(
|
||||
context,
|
||||
rh,
|
||||
R.attr.tempTargetConfirmation
|
||||
|
@ -242,7 +243,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
val eatingSoonSelected = binding.eatingSoonTt.isChecked
|
||||
if (eatingSoonSelected)
|
||||
actions.add(
|
||||
rh.gs(R.string.temptargetshort) + ": " + (DecimalFormatter.to1Decimal(eatingSoonTT) + " " + unitLabel + " (" + rh.gs(
|
||||
rh.gs(R.string.temp_target_short) + ": " + (DecimalFormatter.to1Decimal(eatingSoonTT) + " " + unitLabel + " (" + rh.gs(
|
||||
R.string.format_mins,
|
||||
eatingSoonTTDuration
|
||||
) + ")").formatColor(context, rh, R.attr.tempTargetConfirmation)
|
||||
|
@ -250,7 +251,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
val hypoSelected = binding.hypoTt.isChecked
|
||||
if (hypoSelected)
|
||||
actions.add(
|
||||
rh.gs(R.string.temptargetshort) + ": " + (DecimalFormatter.to1Decimal(hypoTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, hypoTTDuration) + ")").formatColor(
|
||||
rh.gs(R.string.temp_target_short) + ": " + (DecimalFormatter.to1Decimal(hypoTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, hypoTTDuration) + ")").formatColor(
|
||||
context,
|
||||
rh,
|
||||
R.attr.tempTargetConfirmation
|
||||
|
@ -266,7 +267,7 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
if (carbsAfterConstraints > 0) {
|
||||
actions.add(rh.gs(R.string.carbs) + ": " + "<font color='" + rh.gac(context, R.attr.carbsColor) + "'>" + rh.gs(R.string.format_carbs, carbsAfterConstraints) + "</font>")
|
||||
if (carbsAfterConstraints != carbs)
|
||||
actions.add("<font color='" + rh.gac(context, R.attr.warningColor) + "'>" + rh.gs(R.string.carbsconstraintapplied) + "</font>")
|
||||
actions.add("<font color='" + rh.gac(context, R.attr.warningColor) + "'>" + rh.gs(R.string.carbs_constraint_applied) + "</font>")
|
||||
}
|
||||
val notes = binding.notesLayout.notes.text.toString()
|
||||
if (notes.isNotEmpty())
|
||||
|
@ -364,16 +365,16 @@ class CarbsDialog : DialogFragmentWithDate() {
|
|||
ValueWithUnit.Hour(duration).takeIf { duration != 0 })
|
||||
commandQueue.bolus(detailedBolusInfo, object : Callback() {
|
||||
override fun run() {
|
||||
carbTimer.removeEatReminder()
|
||||
carbTimer.removeAutomationEventEatReminder()
|
||||
if (!result.success) {
|
||||
ErrorHelperActivity.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror)
|
||||
} else if (sp.getBoolean(R.string.key_usebolusreminder, false) && remindBolus)
|
||||
bolusTimer.scheduleBolusReminder()
|
||||
bolusTimer.scheduleAutomationEventBolusReminder()
|
||||
}
|
||||
})
|
||||
}
|
||||
if (useAlarm && carbs > 0 && timeOffset > 0) {
|
||||
carbTimer.scheduleReminder(T.mins(timeOffset.toLong()).secs().toInt())
|
||||
carbTimer.scheduleTimeToEatReminder(T.mins(timeOffset.toLong()).secs().toInt())
|
||||
}
|
||||
}, null)
|
||||
}
|
|
@ -33,7 +33,7 @@
|
|||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/overview_calibration"
|
||||
android:text="@string/calibration"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
|||
android:layout_gravity="center_horizontal"
|
||||
android:width="120dp"
|
||||
android:padding="10dp"
|
||||
android:text="@string/treatments_wizard_bg_label"
|
||||
android:text="@string/bg_label"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
@ -68,7 +68,7 @@
|
|||
android:id="@+id/bg"
|
||||
android:layout_width="130dp"
|
||||
android:layout_height="40dp"
|
||||
app:customContentDescription="@string/treatments_wizard_bg_label" />
|
||||
app:customContentDescription="@string/bg_label" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/units"
|
|
@ -6,7 +6,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:focusableInTouchMode="true"
|
||||
tools:context=".dialogs.CarbsDialog">
|
||||
tools:context="info.nightscout.ui.dialogs.CarbsDialog">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -186,7 +186,7 @@
|
|||
android:width="120dp"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:text="@string/treatments_wizard_carbs_label"
|
||||
android:text="@string/carbs"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
@ -194,7 +194,7 @@
|
|||
android:id="@+id/carbs"
|
||||
android:layout_width="130dp"
|
||||
android:layout_height="40dp"
|
||||
app:customContentDescription="@string/treatments_wizard_carbs_label" />
|
||||
app:customContentDescription="@string/carbs" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -258,7 +258,7 @@
|
|||
android:layout_gravity="center"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:text="@string/bolus_reminder"
|
||||
android:text="@string/remind_to_bolus_later"
|
||||
android:gravity="center_vertical"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textStyle="bold" />
|
10
ui/src/main/res/values/strings.xml
Normal file
10
ui/src/main/res/values/strings.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="no_action_selected">No action selected, nothing will happen</string>
|
||||
<string name="constraint_applied">Constraint applied!</string>
|
||||
<string name="bolus_constraint_applied">Bolus constraint applied</string>
|
||||
<string name="carbs_constraint_applied">Carbs constraint applied</string>
|
||||
<string name="temp_target_short">TT</string>
|
||||
<string name="dialog_canceled">Dialog canceled</string>
|
||||
|
||||
</resources>
|
Loading…
Reference in a new issue