Merge branch 'dev' of https://github.com/nightscout/AndroidAPS into dev
This commit is contained in:
commit
ef5c8e3304
|
@ -17,22 +17,23 @@ jobs:
|
||||||
tag: 2023.07.1
|
tag: 2023.07.1
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Checkout the code as the first step.
|
|
||||||
- checkout
|
- checkout
|
||||||
|
|
||||||
- android/change-java-version:
|
- android/change-java-version:
|
||||||
java-version: 17
|
java-version: 17
|
||||||
# The next step will run the unit tests
|
|
||||||
|
- android/start-emulator-and-run-tests:
|
||||||
|
system-image: system-images;android-29;google_apis;x86
|
||||||
|
# Compile while the emulator starts to use the time.
|
||||||
|
post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources
|
||||||
|
test-command: ./gradlew database:impl:connectedFullDebugAndroidTest
|
||||||
|
|
||||||
- android/run-tests:
|
- android/run-tests:
|
||||||
test-command: ./gradlew testFullDebugUnitTest
|
test-command: ./gradlew testFullDebugUnitTest
|
||||||
|
|
||||||
- android/run-tests:
|
- android/run-tests:
|
||||||
test-command: ./gradlew --stacktrace jacocoAllDebugReport
|
test-command: ./gradlew --stacktrace jacocoAllDebugReport
|
||||||
|
|
||||||
# Then start the emulator and run the Instrumentation tests!
|
|
||||||
# - android/start-emulator-and-run-tests:
|
|
||||||
# test-command: ./gradlew connectedDebugAndroidTest
|
|
||||||
# system-image: system-images;android-25;google_apis;x86
|
|
||||||
|
|
||||||
# And finally run the release build
|
# And finally run the release build
|
||||||
# - run:
|
# - run:
|
||||||
# name: Assemble release build
|
# name: Assemble release build
|
||||||
|
|
|
@ -50,7 +50,7 @@ buildscript {
|
||||||
wearable_version = '2.9.0'
|
wearable_version = '2.9.0'
|
||||||
play_services_wearable_version = '18.1.0'
|
play_services_wearable_version = '18.1.0'
|
||||||
play_services_location_version = '21.0.1'
|
play_services_location_version = '21.0.1'
|
||||||
play_services_measurement_version = '21.3.0'
|
play_services_measurement_version = '21.4.0'
|
||||||
|
|
||||||
kotlinx_datetime_version = '0.4.1'
|
kotlinx_datetime_version = '0.4.1'
|
||||||
kotlinx_serialization_version = '1.6.0'
|
kotlinx_serialization_version = '1.6.0'
|
||||||
|
|
|
@ -170,7 +170,8 @@ enum class CwfMetadataKey(val key: String, @StringRes val label: Int, val isPref
|
||||||
CWF_PREF_WATCH_SHOW_AGO("key_show_ago", R.string.pref_show_ago, true),
|
CWF_PREF_WATCH_SHOW_AGO("key_show_ago", R.string.pref_show_ago, true),
|
||||||
CWF_PREF_WATCH_SHOW_BG("key_show_bg", R.string.pref_show_bg, true),
|
CWF_PREF_WATCH_SHOW_BG("key_show_bg", R.string.pref_show_bg, true),
|
||||||
CWF_PREF_WATCH_SHOW_LOOP_STATUS("key_show_loop_status", R.string.pref_show_loop_status, true),
|
CWF_PREF_WATCH_SHOW_LOOP_STATUS("key_show_loop_status", R.string.pref_show_loop_status, true),
|
||||||
CWF_PREF_WATCH_SHOW_WEEK_NUMBER("key_show_week_number", R.string.pref_show_week_number, true);
|
CWF_PREF_WATCH_SHOW_WEEK_NUMBER("key_show_week_number", R.string.pref_show_week_number, true),
|
||||||
|
CWF_PREF_WATCH_SHOW_DATE("key_show_date", R.string.pref_show_date, true);
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
|
@ -260,6 +261,7 @@ enum class JsonKeys(val key: String) {
|
||||||
INVALIDIMAGE("invalidImage"),
|
INVALIDIMAGE("invalidImage"),
|
||||||
INVALIDCOLOR("invalidColor"),
|
INVALIDCOLOR("invalidColor"),
|
||||||
INVALIDFONTCOLOR("invalidFontColor"),
|
INVALIDFONTCOLOR("invalidFontColor"),
|
||||||
|
INVALIDTEXTSIZE("invalidTextSize"),
|
||||||
TWINVIEW("twinView"),
|
TWINVIEW("twinView"),
|
||||||
TOPOFFSETTWINHIDDEN("topOffsetTwinHidden"),
|
TOPOFFSETTWINHIDDEN("topOffsetTwinHidden"),
|
||||||
LEFTOFFSETTWINHIDDEN("leftOffsetTwinHidden"),
|
LEFTOFFSETTWINHIDDEN("leftOffsetTwinHidden"),
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<string name="pref_show_direction_arrow">Zobrazit trendovou šipku</string>
|
<string name="pref_show_direction_arrow">Zobrazit trendovou šipku</string>
|
||||||
<string name="pref_show_ago">Zobrazit aktualizováno před</string>
|
<string name="pref_show_ago">Zobrazit aktualizováno před</string>
|
||||||
<string name="pref_show_week_number">Zobrazit číslo týdne</string>
|
<string name="pref_show_week_number">Zobrazit číslo týdne</string>
|
||||||
|
<string name="pref_show_date">Zobrazit datum</string>
|
||||||
<string name="default_custom_watchface_comment">Výchozí ciferník. Můžete kliknout na tlačítko EXPORTOVAT CIFERNÍK pro vygenerování šablony</string>
|
<string name="default_custom_watchface_comment">Výchozí ciferník. Můžete kliknout na tlačítko EXPORTOVAT CIFERNÍK pro vygenerování šablony</string>
|
||||||
<string name="wear_default_watchface">Výchozí ciferník</string>
|
<string name="wear_default_watchface">Výchozí ciferník</string>
|
||||||
<string name="cwf_comment_background">Tapeta</string>
|
<string name="cwf_comment_background">Tapeta</string>
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<string name="pref_show_direction_arrow">Mostrar flecha de dirección</string>
|
<string name="pref_show_direction_arrow">Mostrar flecha de dirección</string>
|
||||||
<string name="pref_show_ago">Mostrar \"hace\"</string>
|
<string name="pref_show_ago">Mostrar \"hace\"</string>
|
||||||
<string name="pref_show_week_number">Mostrar número de semana</string>
|
<string name="pref_show_week_number">Mostrar número de semana</string>
|
||||||
|
<string name="pref_show_date">Mostrar fecha</string>
|
||||||
<string name="default_custom_watchface_comment">Esfera predeterminada, puedes hacer clic en el botón EXPORTAR ESFERA para generar una plantilla</string>
|
<string name="default_custom_watchface_comment">Esfera predeterminada, puedes hacer clic en el botón EXPORTAR ESFERA para generar una plantilla</string>
|
||||||
<string name="wear_default_watchface">Esfera por defecto</string>
|
<string name="wear_default_watchface">Esfera por defecto</string>
|
||||||
<string name="cwf_comment_background">Imagen de fondo</string>
|
<string name="cwf_comment_background">Imagen de fondo</string>
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
<string name="pref_show_direction_arrow">הצג חץ מגמה</string>
|
<string name="pref_show_direction_arrow">הצג חץ מגמה</string>
|
||||||
<string name="pref_show_ago">הצג עבר</string>
|
<string name="pref_show_ago">הצג עבר</string>
|
||||||
<string name="pref_show_week_number">הצג מספר שבוע</string>
|
<string name="pref_show_week_number">הצג מספר שבוע</string>
|
||||||
|
<string name="pref_show_date">הצג תאריך</string>
|
||||||
<string name="default_custom_watchface_comment">ברירת המחדל של פני השעון, ניתן ללחוץ על כפתור ייצוא פני שעון כדי ליצור תבנית</string>
|
<string name="default_custom_watchface_comment">ברירת המחדל של פני השעון, ניתן ללחוץ על כפתור ייצוא פני שעון כדי ליצור תבנית</string>
|
||||||
<string name="wear_default_watchface">ברירת מחדל פני שעון</string>
|
<string name="wear_default_watchface">ברירת מחדל פני שעון</string>
|
||||||
<string name="cwf_comment_background">תמונת רקע</string>
|
<string name="cwf_comment_background">תמונת רקע</string>
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<string name="pref_show_direction_arrow">Vis retningspil</string>
|
<string name="pref_show_direction_arrow">Vis retningspil</string>
|
||||||
<string name="pref_show_ago">Vis tid siden</string>
|
<string name="pref_show_ago">Vis tid siden</string>
|
||||||
<string name="pref_show_week_number">Vis ukenummer</string>
|
<string name="pref_show_week_number">Vis ukenummer</string>
|
||||||
|
<string name="pref_show_date">Vis dato</string>
|
||||||
<string name="default_custom_watchface_comment">Standard klokkebakgrunn, du kan klikke på EKSPORTER KLOKKEBAKGRUNN for å lage en mal</string>
|
<string name="default_custom_watchface_comment">Standard klokkebakgrunn, du kan klikke på EKSPORTER KLOKKEBAKGRUNN for å lage en mal</string>
|
||||||
<string name="wear_default_watchface">Standard klokkebakgrunn</string>
|
<string name="wear_default_watchface">Standard klokkebakgrunn</string>
|
||||||
<string name="cwf_comment_background">Bakgrunnsbilde</string>
|
<string name="cwf_comment_background">Bakgrunnsbilde</string>
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<string name="pref_show_direction_arrow">Toon richtingspijl</string>
|
<string name="pref_show_direction_arrow">Toon richtingspijl</string>
|
||||||
<string name="pref_show_ago">Toon tijd geleden</string>
|
<string name="pref_show_ago">Toon tijd geleden</string>
|
||||||
<string name="pref_show_week_number">Weeknummer weergeven</string>
|
<string name="pref_show_week_number">Weeknummer weergeven</string>
|
||||||
|
<string name="pref_show_date">Toon datum</string>
|
||||||
<string name="default_custom_watchface_comment">Standaard watchface, u kunt op de EXPORT WATCHFACE knop klikken om een sjabloon te genereren</string>
|
<string name="default_custom_watchface_comment">Standaard watchface, u kunt op de EXPORT WATCHFACE knop klikken om een sjabloon te genereren</string>
|
||||||
<string name="wear_default_watchface">Standaard watchface</string>
|
<string name="wear_default_watchface">Standaard watchface</string>
|
||||||
<string name="cwf_comment_background">Achtergrondafbeelding</string>
|
<string name="cwf_comment_background">Achtergrondafbeelding</string>
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<string name="pref_show_direction_arrow">Pokaż Strzałkę Trendu</string>
|
<string name="pref_show_direction_arrow">Pokaż Strzałkę Trendu</string>
|
||||||
<string name="pref_show_ago">Pokaż Aktualność</string>
|
<string name="pref_show_ago">Pokaż Aktualność</string>
|
||||||
<string name="pref_show_week_number">Pokaż numer tygodnia</string>
|
<string name="pref_show_week_number">Pokaż numer tygodnia</string>
|
||||||
|
<string name="pref_show_date">Pokaż Datę</string>
|
||||||
<string name="default_custom_watchface_comment">Domyślna tarcza, możesz kliknąć na EXPORTUJ TARCZĘ aby wygenerować szablon</string>
|
<string name="default_custom_watchface_comment">Domyślna tarcza, możesz kliknąć na EXPORTUJ TARCZĘ aby wygenerować szablon</string>
|
||||||
<string name="wear_default_watchface">Domyślna Tarcza</string>
|
<string name="wear_default_watchface">Domyślna Tarcza</string>
|
||||||
<string name="cwf_comment_background">Obraz w tle</string>
|
<string name="cwf_comment_background">Obraz w tle</string>
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<string name="pref_show_direction_arrow">Arată săgeată tendință</string>
|
<string name="pref_show_direction_arrow">Arată săgeată tendință</string>
|
||||||
<string name="pref_show_ago">Afişare în urmă</string>
|
<string name="pref_show_ago">Afişare în urmă</string>
|
||||||
<string name="pref_show_week_number">Arată numărul săptămânii</string>
|
<string name="pref_show_week_number">Arată numărul săptămânii</string>
|
||||||
|
<string name="pref_show_date">Arată data</string>
|
||||||
<string name="default_custom_watchface_comment">Fațetă implicită. Poți apăsa pe butonul EXPORT pentru a genera un șablon</string>
|
<string name="default_custom_watchface_comment">Fațetă implicită. Poți apăsa pe butonul EXPORT pentru a genera un șablon</string>
|
||||||
<string name="wear_default_watchface">Fațetă implicită</string>
|
<string name="wear_default_watchface">Fațetă implicită</string>
|
||||||
<string name="cwf_comment_background">Imagine de fundal</string>
|
<string name="cwf_comment_background">Imagine de fundal</string>
|
||||||
|
|
|
@ -66,6 +66,7 @@
|
||||||
<string name="pref_show_direction_arrow">Show Direction Arrow</string>
|
<string name="pref_show_direction_arrow">Show Direction Arrow</string>
|
||||||
<string name="pref_show_ago">Show Ago</string>
|
<string name="pref_show_ago">Show Ago</string>
|
||||||
<string name="pref_show_week_number">Show Week number</string>
|
<string name="pref_show_week_number">Show Week number</string>
|
||||||
|
<string name="pref_show_date">Show Date</string>
|
||||||
<string name="default_custom_watchface_comment">Default watchface, you can click on EXPORT WATCHFACE button to generate a template</string>
|
<string name="default_custom_watchface_comment">Default watchface, you can click on EXPORT WATCHFACE button to generate a template</string>
|
||||||
<string name="wear_default_watchface">Default Watchface</string>
|
<string name="wear_default_watchface">Default Watchface</string>
|
||||||
<string name="cwf_comment_background">Background image</string>
|
<string name="cwf_comment_background">Background image</string>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<string name="bolus_delivered_successfully">Bolo %1$.2fU entregado correctamente</string>
|
<string name="bolus_delivered_successfully">Bolo %1$.2fU entregado correctamente</string>
|
||||||
<string name="no_valid_basal_rate">Tasa basal no válida leída en la bomba</string>
|
<string name="no_valid_basal_rate">Tasa basal no válida leída en la bomba</string>
|
||||||
<string name="limiting_iob">Limitando IOB a %1$.1f U debido a %2$s</string>
|
<string name="limiting_iob">Limitando IOB a %1$.1f U debido a %2$s</string>
|
||||||
<string name="loop_disabled">BUCLE DESACTIVADO POR RESTRICCIONES</string>
|
<string name="loop_disabled">LAZO DESACTIVADO POR RESTRICCIONES</string>
|
||||||
<string name="event_type">Tipo de evento</string>
|
<string name="event_type">Tipo de evento</string>
|
||||||
<string name="reload">Recargar</string>
|
<string name="reload">Recargar</string>
|
||||||
<string name="mgdl">mg/dl</string>
|
<string name="mgdl">mg/dl</string>
|
||||||
|
@ -88,9 +88,9 @@
|
||||||
<string name="removerecord">Eliminar registro</string>
|
<string name="removerecord">Eliminar registro</string>
|
||||||
<string name="loopisdisabled">Bucle desactivado</string>
|
<string name="loopisdisabled">Bucle desactivado</string>
|
||||||
<string name="alarm">Alarma</string>
|
<string name="alarm">Alarma</string>
|
||||||
<string name="disableloop">Desactivar bucle</string>
|
<string name="disableloop">Desactivar lazo</string>
|
||||||
<string name="enableloop">Activar bucle</string>
|
<string name="enableloop">Activar lazo</string>
|
||||||
<string name="resumeloop">Reanudar el bucle</string>
|
<string name="resumeloop">Reanudar el lazo</string>
|
||||||
<string name="suspendloop">Suspender lazo</string>
|
<string name="suspendloop">Suspender lazo</string>
|
||||||
<string name="duration_min_label">Duración [min]</string>
|
<string name="duration_min_label">Duración [min]</string>
|
||||||
<string name="notification">Notificación</string>
|
<string name="notification">Notificación</string>
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
<string name="shortgramm">g</string>
|
<string name="shortgramm">g</string>
|
||||||
<string name="pumpsuspended">Bomba parada</string>
|
<string name="pumpsuspended">Bomba parada</string>
|
||||||
<string name="notconfigured">Sin configurar</string>
|
<string name="notconfigured">Sin configurar</string>
|
||||||
<string name="loopsuspended">Bucle suspendido</string>
|
<string name="loopsuspended">Lazo suspendido</string>
|
||||||
<string name="trend_arrow">Flecha de tendencia</string>
|
<string name="trend_arrow">Flecha de tendencia</string>
|
||||||
<string name="a11y_autosens_label">Auto sens</string>
|
<string name="a11y_autosens_label">Auto sens</string>
|
||||||
<string name="required">req</string>
|
<string name="required">req</string>
|
||||||
|
@ -156,8 +156,8 @@
|
||||||
<string name="prime_fill">Cebar/Llenar</string>
|
<string name="prime_fill">Cebar/Llenar</string>
|
||||||
<string name="overview_insulin_label">Insulina</string>
|
<string name="overview_insulin_label">Insulina</string>
|
||||||
<string name="stoptemptarget">Detener objetivo temporal</string>
|
<string name="stoptemptarget">Detener objetivo temporal</string>
|
||||||
<string name="closedloop">Bucle cerrado</string>
|
<string name="closedloop">Lazo cerrado</string>
|
||||||
<string name="openloop">Bucle abierto</string>
|
<string name="openloop">Lazo abierto</string>
|
||||||
<string name="lowglucosesuspend">Suspensión por glucosa baja (LGS)</string>
|
<string name="lowglucosesuspend">Suspensión por glucosa baja (LGS)</string>
|
||||||
<string name="dia">DIA</string>
|
<string name="dia">DIA</string>
|
||||||
<string name="ic_short">IC</string>
|
<string name="ic_short">IC</string>
|
||||||
|
@ -165,7 +165,7 @@
|
||||||
<string name="canceling_tbr_failed">Error cancelando la basal temporal</string>
|
<string name="canceling_tbr_failed">Error cancelando la basal temporal</string>
|
||||||
<string name="canceling_eb_failed">Error cancelando el bolo extendido</string>
|
<string name="canceling_eb_failed">Error cancelando el bolo extendido</string>
|
||||||
<string name="virtualpump_uploadstatus_title">Subir estado de la bomba a NS o Tidepool</string>
|
<string name="virtualpump_uploadstatus_title">Subir estado de la bomba a NS o Tidepool</string>
|
||||||
<string name="suspendloop_label">Desactiva/suspende el bucle</string>
|
<string name="suspendloop_label">Desactiva/suspende el lazo</string>
|
||||||
<string name="iob_label">Insulina a bordo (IOB)</string>
|
<string name="iob_label">Insulina a bordo (IOB)</string>
|
||||||
<!-- Protection-->
|
<!-- Protection-->
|
||||||
<string name="wrongpassword">Contraseña incorrecta</string>
|
<string name="wrongpassword">Contraseña incorrecta</string>
|
||||||
|
@ -234,7 +234,7 @@
|
||||||
<string name="wear">Reloj</string>
|
<string name="wear">Reloj</string>
|
||||||
<string name="automation">Automatización</string>
|
<string name="automation">Automatización</string>
|
||||||
<string name="custom">Personalizado</string>
|
<string name="custom">Personalizado</string>
|
||||||
<string name="loop">Bucle</string>
|
<string name="loop">Lazo</string>
|
||||||
<string name="ns">NS</string>
|
<string name="ns">NS</string>
|
||||||
<string name="record">Registro</string>
|
<string name="record">Registro</string>
|
||||||
<!-- Command-->
|
<!-- Command-->
|
||||||
|
@ -278,11 +278,11 @@
|
||||||
<string name="uel_store_profile">GUARDAR PERFIL</string>
|
<string name="uel_store_profile">GUARDAR PERFIL</string>
|
||||||
<string name="uel_profile_switch">CAMBIO DE PERFIL</string>
|
<string name="uel_profile_switch">CAMBIO DE PERFIL</string>
|
||||||
<string name="uel_profile_switch_cloned">CAMBIO DE PERFIL CLONADO</string>
|
<string name="uel_profile_switch_cloned">CAMBIO DE PERFIL CLONADO</string>
|
||||||
<string name="uel_closed_loop_mode">MODO BUCLE CERRADO</string>
|
<string name="uel_closed_loop_mode">MODO LAZO CERRADO</string>
|
||||||
<string name="uel_lgs_loop_mode">MODO BUCLE LGS</string>
|
<string name="uel_lgs_loop_mode">MODO LAZO LGS</string>
|
||||||
<string name="uel_open_loop_mode">MODO BUCLE ABIERTO</string>
|
<string name="uel_open_loop_mode">MODO LAZO ABIERTO</string>
|
||||||
<string name="uel_loop_disabled">BUCLE DESACTIVADO</string>
|
<string name="uel_loop_disabled">LAZO DESACTIVADO</string>
|
||||||
<string name="uel_loop_enabled">BUCLE ACTIVADO</string>
|
<string name="uel_loop_enabled">LAZO ACTIVADO</string>
|
||||||
<string name="uel_reconnect">RECONECTAR</string>
|
<string name="uel_reconnect">RECONECTAR</string>
|
||||||
<string name="uel_disconnect">DESCONECTAR</string>
|
<string name="uel_disconnect">DESCONECTAR</string>
|
||||||
<string name="uel_resume">REANUDAR</string>
|
<string name="uel_resume">REANUDAR</string>
|
||||||
|
@ -353,8 +353,8 @@
|
||||||
<string name="ue_action">Acción</string>
|
<string name="ue_action">Acción</string>
|
||||||
<string name="ue_timestamp">Fecha y hora</string>
|
<string name="ue_timestamp">Fecha y hora</string>
|
||||||
<string name="ue_none">Sin Unidad</string>
|
<string name="ue_none">Sin Unidad</string>
|
||||||
<string name="uel_loop_change">BUCLE CAMBIADO</string>
|
<string name="uel_loop_change">LAZO CAMBIADO</string>
|
||||||
<string name="uel_loop_removed">BUCLE ELIMINADO</string>
|
<string name="uel_loop_removed">LAZO ELIMINADO</string>
|
||||||
<string name="uel_other">OTROS</string>
|
<string name="uel_other">OTROS</string>
|
||||||
<!-- HardLimits -->
|
<!-- HardLimits -->
|
||||||
<string name="profile_low_target">Perfil de objetivo bajo</string>
|
<string name="profile_low_target">Perfil de objetivo bajo</string>
|
||||||
|
|
|
@ -496,8 +496,8 @@
|
||||||
<string name="reservoir_label">Reservoar</string>
|
<string name="reservoir_label">Reservoar</string>
|
||||||
<string name="last_connection_label">Siste tilkobling</string>
|
<string name="last_connection_label">Siste tilkobling</string>
|
||||||
<string name="last_bolus_label">Siste bolus</string>
|
<string name="last_bolus_label">Siste bolus</string>
|
||||||
<string name="base_basal_rate_label">Profilens basaldose</string>
|
<string name="base_basal_rate_label">Profilens basal</string>
|
||||||
<string name="tempbasal_label">Midl. basal</string>
|
<string name="tempbasal_label">Midlertidig basal</string>
|
||||||
<string name="extended_bolus_label">Forlenget bolus</string>
|
<string name="extended_bolus_label">Forlenget bolus</string>
|
||||||
<string name="serial_number">Serienummer</string>
|
<string name="serial_number">Serienummer</string>
|
||||||
<string name="disconnected">Frakoblet</string>
|
<string name="disconnected">Frakoblet</string>
|
||||||
|
|
|
@ -51,6 +51,7 @@
|
||||||
<string name="extended_bolus">Extended bolus</string>
|
<string name="extended_bolus">Extended bolus</string>
|
||||||
<string name="paused">Paused</string>
|
<string name="paused">Paused</string>
|
||||||
<string name="tdd_total">TDD Total</string>
|
<string name="tdd_total">TDD Total</string>
|
||||||
|
<string name="tdd_old_data">Old data</string>
|
||||||
<string name="goingtodeliver">Going to deliver %1$.2f U</string>
|
<string name="goingtodeliver">Going to deliver %1$.2f U</string>
|
||||||
<string name="waitingforpump">Waiting for pump</string>
|
<string name="waitingforpump">Waiting for pump</string>
|
||||||
<string name="androidaps_start">AAPS started</string>
|
<string name="androidaps_start">AAPS started</string>
|
||||||
|
@ -168,6 +169,8 @@
|
||||||
<string name="virtualpump_uploadstatus_title">Upload pump status to NS or Tidepool</string>
|
<string name="virtualpump_uploadstatus_title">Upload pump status to NS or Tidepool</string>
|
||||||
<string name="suspendloop_label">Disabled/Suspended loop</string>
|
<string name="suspendloop_label">Disabled/Suspended loop</string>
|
||||||
<string name="iob_label">Insulin on Board (IOB)</string>
|
<string name="iob_label">Insulin on Board (IOB)</string>
|
||||||
|
<string name="loopstatus_targets">TARGETS:</string>
|
||||||
|
<string name="loopstatus_OAPS_result">OAPS RESULT:</string>
|
||||||
|
|
||||||
<!-- Protection-->
|
<!-- Protection-->
|
||||||
<string name="wrongpassword">Wrong password</string>
|
<string name="wrongpassword">Wrong password</string>
|
||||||
|
@ -492,6 +495,8 @@
|
||||||
<string name="bolus_recorded_only">Bolus will be recorded only (not delivered by pump)</string>
|
<string name="bolus_recorded_only">Bolus will be recorded only (not delivered by pump)</string>
|
||||||
<string name="advisoralarm">Run alarm when is time to eat</string>
|
<string name="advisoralarm">Run alarm when is time to eat</string>
|
||||||
<string name="no_action_selected">No action selected, nothing will happen</string>
|
<string name="no_action_selected">No action selected, nothing will happen</string>
|
||||||
|
<string name="carb_equal_zero_no_action">Carbs = 0. No action taken!</string>
|
||||||
|
<string name="wizard_no_insulin_required">No insulin required!</string>
|
||||||
<string name="wizard_no_actual_bg">No recent BG to base calculation on!</string>
|
<string name="wizard_no_actual_bg">No recent BG to base calculation on!</string>
|
||||||
<string name="wizard_no_active_profile">No active profile set!</string>
|
<string name="wizard_no_active_profile">No active profile set!</string>
|
||||||
<string name="wizard_no_cob">Unknown COB! BG reading missing or recent app restart?</string>
|
<string name="wizard_no_cob">Unknown COB! BG reading missing or recent app restart?</string>
|
||||||
|
|
|
@ -24,7 +24,7 @@ dependencies {
|
||||||
api "net.danlew:android.joda:$joda_version"
|
api "net.danlew:android.joda:$joda_version"
|
||||||
|
|
||||||
//Firebase
|
//Firebase
|
||||||
api platform('com.google.firebase:firebase-bom:32.3.1')
|
api platform('com.google.firebase:firebase-bom:32.4.0')
|
||||||
api "com.google.firebase:firebase-analytics-ktx"
|
api "com.google.firebase:firebase-analytics-ktx"
|
||||||
api "com.google.firebase:firebase-crashlytics-ktx"
|
api "com.google.firebase:firebase-crashlytics-ktx"
|
||||||
// StatsActivity not in use now
|
// StatsActivity not in use now
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="enable_tbr_over_notification">Aktiver varsel når slutt på temp basal\n(pumpeinnstilling)</string>
|
<string name="enable_tbr_over_notification">Aktiver varsel når slutt på midlertidig basal\n(pumpeinnstilling)</string>
|
||||||
<string name="disable_tbr_over_notification">Slå av varsel når slutt på temp basal\n(pumpeinnstilling)</string>
|
<string name="disable_tbr_over_notification">Slå av varsel når slutt på midlertidig basal\n(pumpeinnstilling)</string>
|
||||||
<string name="not_paired">Ikke sammenkoblet</string>
|
<string name="not_paired">Ikke sammenkoblet</string>
|
||||||
<string name="recovering">Gjenoppretter</string>
|
<string name="recovering">Gjenoppretter</string>
|
||||||
<string name="insight_status">Status</string>
|
<string name="insight_status">Status</string>
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
<string name="disable_vibration">Slå av vibrasjoner på manuell bolus</string>
|
<string name="disable_vibration">Slå av vibrasjoner på manuell bolus</string>
|
||||||
<string name="disable_vibration_summary">For bolus og forlenget bolus (bare tilgjengelig med Insight firmware 3.x)</string>
|
<string name="disable_vibration_summary">For bolus og forlenget bolus (bare tilgjengelig med Insight firmware 3.x)</string>
|
||||||
<string name="disable_vibration_auto">Slå av vibrasjoner ved automatisk bolus</string>
|
<string name="disable_vibration_auto">Slå av vibrasjoner ved automatisk bolus</string>
|
||||||
<string name="disable_vibration_auto_summary">For SMB og temp basal med TBR emulering (bare tilgjengelig med Insight firmware 3.x)</string>
|
<string name="disable_vibration_auto_summary">For SMB og midlertidig basal med TBR emulering (bare tilgjengelig med Insight firmware 3.x)</string>
|
||||||
<string name="timeout_during_handshake">En timeout oppstod i paringsprosessen - restart Bluetooth</string>
|
<string name="timeout_during_handshake">En timeout oppstod i paringsprosessen - restart Bluetooth</string>
|
||||||
<string name="pump_stopped">Pumpen stoppet</string>
|
<string name="pump_stopped">Pumpen stoppet</string>
|
||||||
<string name="pump_started">Pumpen startet</string>
|
<string name="pump_started">Pumpen startet</string>
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
<string name="log_operating_mode_changes">Logg endring i driftsmodus</string>
|
<string name="log_operating_mode_changes">Logg endring i driftsmodus</string>
|
||||||
<string name="log_alerts">Logg varslinger</string>
|
<string name="log_alerts">Logg varslinger</string>
|
||||||
<string name="enable_tbr_emulation">Aktiver emulering av TBR</string>
|
<string name="enable_tbr_emulation">Aktiver emulering av TBR</string>
|
||||||
<string name="enable_tbr_emulation_summary">Bruk forlenget bolus i stedet for temp basaler for å omgå 250%% grensen</string>
|
<string name="enable_tbr_emulation_summary">Bruk forlenget bolus i stedet for midlertidig basaler for å omgå 250%% grensen</string>
|
||||||
<string name="disconnect_delay">Utsett frakobling [s]</string>
|
<string name="disconnect_delay">Utsett frakobling [s]</string>
|
||||||
<string name="max_recovery_duration">Maks pause mellom tilkoblingsforsøk [s]</string>
|
<string name="max_recovery_duration">Maks pause mellom tilkoblingsforsøk [s]</string>
|
||||||
<string name="min_recovery_duration">Min pause mellom tilkoblingsforsøk [s]</string>
|
<string name="min_recovery_duration">Min pause mellom tilkoblingsforsøk [s]</string>
|
||||||
|
|
|
@ -94,8 +94,8 @@
|
||||||
<string name="run_now">Ejecutar ahora</string>
|
<string name="run_now">Ejecutar ahora</string>
|
||||||
<string name="smb_frequency_exceeded">Un bolo ha sido entregado en los últimos 3 minutos, omitiendo SMB</string>
|
<string name="smb_frequency_exceeded">Un bolo ha sido entregado en los últimos 3 minutos, omitiendo SMB</string>
|
||||||
<string name="pump_not_initialized">¡Bomba no iniciada!</string>
|
<string name="pump_not_initialized">¡Bomba no iniciada!</string>
|
||||||
<string name="loop_shortname">BUCLE</string>
|
<string name="loop_shortname">LAZO</string>
|
||||||
<string name="description_loop">Activar o desactivar la posibilidad para activar el bucle.</string>
|
<string name="description_loop">Activar o desactivar la posibilidad para activar el lazo.</string>
|
||||||
<string name="no_aps_selected">NO APS Seleccionado o resultado entregado</string>
|
<string name="no_aps_selected">NO APS Seleccionado o resultado entregado</string>
|
||||||
<string name="ignore5m">Ignorar 5m</string>
|
<string name="ignore5m">Ignorar 5m</string>
|
||||||
<string name="ignore15m">Ignorar 15m</string>
|
<string name="ignore15m">Ignorar 15m</string>
|
||||||
|
@ -114,6 +114,6 @@
|
||||||
<string name="loop_smb_execution_time_label">Tiempo de ejecución de SMB</string>
|
<string name="loop_smb_execution_time_label">Tiempo de ejecución de SMB</string>
|
||||||
<string name="loop_smb_set_by_pump_label">SMB administrado por la bomba</string>
|
<string name="loop_smb_set_by_pump_label">SMB administrado por la bomba</string>
|
||||||
<string name="loop_open_mode_min_change">Valor mínimo de cambio [%]</string>
|
<string name="loop_open_mode_min_change">Valor mínimo de cambio [%]</string>
|
||||||
<string name="loop_open_mode_min_change_summary" formatted="false">Valor predeterminado 20%. El bucle abierto realizará una petición de cambio, sólo cuando se supere este valor</string>
|
<string name="loop_open_mode_min_change_summary" formatted="false">Valor predeterminado 20%. El lazo abierto realizará una petición de cambio, sólo cuando se supere este valor</string>
|
||||||
<string name="fallback_smb_no_tdd">Regreso a SMB. No hay suficientes datos de TDD.</string>
|
<string name="fallback_smb_no_tdd">Regreso a SMB. No hay suficientes datos de TDD.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<string name="alreadydisabled">Ya está deshabilitado</string>
|
<string name="alreadydisabled">Ya está deshabilitado</string>
|
||||||
<string name="alreadysuspended">Ya está suspendido</string>
|
<string name="alreadysuspended">Ya está suspendido</string>
|
||||||
<string name="notsuspended">No suspendido</string>
|
<string name="notsuspended">No suspendido</string>
|
||||||
<string name="suspendloopforXmin">Suspender bucle durante %1$d min</string>
|
<string name="suspendloopforXmin">Suspender lazo durante %1$d min</string>
|
||||||
<string name="notification_message">Notificación: %1$s</string>
|
<string name="notification_message">Notificación: %1$s</string>
|
||||||
<string name="profilename">Cambiar perfil a</string>
|
<string name="profilename">Cambiar perfil a</string>
|
||||||
<string name="changengetoprofilename">Cambiar perfil a %1$s</string>
|
<string name="changengetoprofilename">Cambiar perfil a %1$s</string>
|
||||||
|
|
BIN
plugins/configuration/src/main/assets/AAPS V2.zip
Normal file
BIN
plugins/configuration/src/main/assets/AAPS V2.zip
Normal file
Binary file not shown.
BIN
plugins/configuration/src/main/assets/AAPS.zip
Normal file
BIN
plugins/configuration/src/main/assets/AAPS.zip
Normal file
Binary file not shown.
BIN
plugins/configuration/src/main/assets/AIMICO-V1_1.zip
Normal file
BIN
plugins/configuration/src/main/assets/AIMICO-V1_1.zip
Normal file
Binary file not shown.
BIN
plugins/configuration/src/main/assets/Digital G-Watch.zip
Normal file
BIN
plugins/configuration/src/main/assets/Digital G-Watch.zip
Normal file
Binary file not shown.
BIN
plugins/configuration/src/main/assets/SimpleDigital_v1.3.zip
Normal file
BIN
plugins/configuration/src/main/assets/SimpleDigital_v1.3.zip
Normal file
Binary file not shown.
|
@ -68,8 +68,8 @@
|
||||||
<string name="configbuilder_sync">Sincronización</string>
|
<string name="configbuilder_sync">Sincronización</string>
|
||||||
<string name="configbuilder_sync_description">Subida de datos y sincronización de plugins</string>
|
<string name="configbuilder_sync_description">Subida de datos y sincronización de plugins</string>
|
||||||
<string name="configbuilder_constraints_description">¿Qué restricciones se aplican?</string>
|
<string name="configbuilder_constraints_description">¿Qué restricciones se aplican?</string>
|
||||||
<string name="configbuilder_loop">Bucle</string>
|
<string name="configbuilder_loop">Lazo</string>
|
||||||
<string name="configbuilder_loop_description">Usa esto para habilitar la integración de bucle de AAPS.</string>
|
<string name="configbuilder_loop_description">Usa esto para habilitar la integración de lazo de AAPS</string>
|
||||||
<string name="configbuilder_insulin_description">¿Qué tipo de insulina estás utilizando?</string>
|
<string name="configbuilder_insulin_description">¿Qué tipo de insulina estás utilizando?</string>
|
||||||
<string name="configbuilder_bgsource">Origen de Glucosa</string>
|
<string name="configbuilder_bgsource">Origen de Glucosa</string>
|
||||||
<string name="configbuilder_bgsource_description">¿Desde dónde debería obtener AAPS los datos?</string>
|
<string name="configbuilder_bgsource_description">¿Desde dónde debería obtener AAPS los datos?</string>
|
||||||
|
|
|
@ -3,15 +3,15 @@
|
||||||
<!-- PhoneChecker -->
|
<!-- PhoneChecker -->
|
||||||
<!-- DST Helper -->
|
<!-- DST Helper -->
|
||||||
<string name="dst_in_24h_warning">Cambio al horario de verano en menos de 24 horas</string>
|
<string name="dst_in_24h_warning">Cambio al horario de verano en menos de 24 horas</string>
|
||||||
<string name="dst_loop_disabled_warning">Cambio al horario de verano hace menos de 3 horas - Bucle cerrado deshabilitado</string>
|
<string name="dst_loop_disabled_warning">Cambio al horario de verano hace menos de 3 horas - Lazo cerrado deshabilitado</string>
|
||||||
<!-- Storage constraint -->
|
<!-- Storage constraint -->
|
||||||
<string name="disk_full">Debe liberar al menos %1$d MB de almacenamiento interno. ¡El bucle se encuentra desactivado!</string>
|
<string name="disk_full">Debe liberar al menos %1$d MB de almacenamiento interno. ¡El lazo se encuentra desactivado!</string>
|
||||||
<!-- Version Checker -->
|
<!-- Version Checker -->
|
||||||
<string name="old_version">versión antigua</string>
|
<string name="old_version">versión antigua</string>
|
||||||
<string name="very_old_version">versión muy antigua</string>
|
<string name="very_old_version">versión muy antigua</string>
|
||||||
<string name="application_expired">Aplicación caducada</string>
|
<string name="application_expired">Aplicación caducada</string>
|
||||||
<string name="new_version_warning">¡La nueva versión no se ha comprobado desde hace al menos %1$d días! Volverás a LGS después de %2$d días, el lazo se deshabilitará después de %3$d días. ¡Restaura la conexión a Internet!</string>
|
<string name="new_version_warning">¡La nueva versión no se ha comprobado desde hace al menos %1$d días! Volverás a LGS después de %2$d días, el lazo se deshabilitará después de %3$d días. ¡Restaura la conexión a Internet!</string>
|
||||||
<string name="running_invalid_version">Hemos detectado que está ejecutando una versión no válida. ¡Bucle desactivado!</string>
|
<string name="running_invalid_version">Hemos detectado que está ejecutando una versión no válida. ¡Lazo desactivado!</string>
|
||||||
<string name="versionavailable">Versión %1$s disponible</string>
|
<string name="versionavailable">Versión %1$s disponible</string>
|
||||||
<string name="version_expire">La versión %1$s caduca el %2$s</string>
|
<string name="version_expire">La versión %1$s caduca el %2$s</string>
|
||||||
<!-- Signature verifier -->
|
<!-- Signature verifier -->
|
||||||
|
@ -25,11 +25,11 @@
|
||||||
<string name="limitingextendedbolus">Limitando el bolo extendido a %1$.1f U debido a %2$s</string>
|
<string name="limitingextendedbolus">Limitando el bolo extendido a %1$.1f U debido a %2$s</string>
|
||||||
<string name="limitingcarbs">Limitando carbohidratos a %1$d g debido a %2$s</string>
|
<string name="limitingcarbs">Limitando carbohidratos a %1$d g debido a %2$s</string>
|
||||||
<string name="pumpisnottempbasalcapable">La bomba no tiene capacidad de basal temporal</string>
|
<string name="pumpisnottempbasalcapable">La bomba no tiene capacidad de basal temporal</string>
|
||||||
<string name="closedmodedisabledinpreferences">Bucle cerrado deshabilitado en preferencias</string>
|
<string name="closedmodedisabledinpreferences">Lazo cerrado deshabilitado en preferencias</string>
|
||||||
<string name="closed_loop_disabled_on_dev_branch">Ejecutando la versión dev. Bucle cerrado no disponible.</string>
|
<string name="closed_loop_disabled_on_dev_branch">Ejecutando la versión dev. Lazo cerrado no disponible.</string>
|
||||||
<string name="closed_loop_disabled_with_eb">Bucle cerrado deshabilitado debido a la ejecución de un bolo extendido</string>
|
<string name="closed_loop_disabled_with_eb">Lazo cerrado deshabilitado debido a la ejecución de un bolo extendido</string>
|
||||||
<string name="smbalwaysdisabled">SMB siempre y después de carbohidratos desactivados porque la fuente activa de BG no soporta filtrado avanzado</string>
|
<string name="smbalwaysdisabled">SMB siempre y después de carbohidratos desactivados porque la fuente activa de BG no soporta filtrado avanzado</string>
|
||||||
<string name="smbnotallowedinopenloopmode">SMB no permitido en modo de Bucle abierto</string>
|
<string name="smbnotallowedinopenloopmode">SMB no permitido en modo de lazo abierto</string>
|
||||||
<string name="maxvalueinpreferences">valor máximo en preferencias</string>
|
<string name="maxvalueinpreferences">valor máximo en preferencias</string>
|
||||||
<string name="hardlimit">límite estricto</string>
|
<string name="hardlimit">límite estricto</string>
|
||||||
<string name="treatmentssafety_title">Seguridad de tratamientos</string>
|
<string name="treatmentssafety_title">Seguridad de tratamientos</string>
|
||||||
|
@ -40,9 +40,9 @@
|
||||||
<string name="maxiobset">Máximo IOB ajustado correctamente</string>
|
<string name="maxiobset">Máximo IOB ajustado correctamente</string>
|
||||||
<string name="hasbgdata">Glucosa disponible desde la fuente seleccionada</string>
|
<string name="hasbgdata">Glucosa disponible desde la fuente seleccionada</string>
|
||||||
<string name="synchaswritepermission">El servicio de sincronización tiene permiso de escritura</string>
|
<string name="synchaswritepermission">El servicio de sincronización tiene permiso de escritura</string>
|
||||||
<string name="loopenabled">Bucle activado</string>
|
<string name="loopenabled">Lazo activado</string>
|
||||||
<string name="apsselected">APS seleccionado</string>
|
<string name="apsselected">APS seleccionado</string>
|
||||||
<string name="closedmodeenabled">Bucle cerrado activado</string>
|
<string name="closedmodeenabled">Lazo cerrado activado</string>
|
||||||
<string name="objectives_shortname">OBJ</string>
|
<string name="objectives_shortname">OBJ</string>
|
||||||
<string name="description_objectives">Programa de aprendizaje</string>
|
<string name="description_objectives">Programa de aprendizaje</string>
|
||||||
<string name="doyouwantresetstart">¿Desea reiniciar el objetivo? Puedes perder tu progreso.</string>
|
<string name="doyouwantresetstart">¿Desea reiniciar el objetivo? Puedes perder tu progreso.</string>
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
<string name="dia_hint1">https://wiki.aaps.app/en/latest/Configuration/Config-Builder.html#insulin</string>
|
<string name="dia_hint1">https://wiki.aaps.app/en/latest/Configuration/Config-Builder.html#insulin</string>
|
||||||
<string name="dia_meaningisequaltodiapump">Hvis du føler at DIA verdien (insulinvarigheten) som du benyttet i pumpen fungerte godt før du tok i bruk AndroidAPS, da er det ikke nødvendig å endre dette når du starter å loope.</string>
|
<string name="dia_meaningisequaltodiapump">Hvis du føler at DIA verdien (insulinvarigheten) som du benyttet i pumpen fungerte godt før du tok i bruk AndroidAPS, da er det ikke nødvendig å endre dette når du starter å loope.</string>
|
||||||
<string name="dia_valuemustbedetermined">Du må selv bestemme hvilken verdi som passer for DIA.</string>
|
<string name="dia_valuemustbedetermined">Du må selv bestemme hvilken verdi som passer for DIA.</string>
|
||||||
<string name="hypott_label">Hypo Temp-Target (TT)</string>
|
<string name="hypott_label">Hypo midlertidig mål (TT)</string>
|
||||||
<string name="hypott_whenhypott">Hva er hovedgrunnen til å velge en hypo temp-target?</string>
|
<string name="hypott_whenhypott">Hva er hovedgrunnen til å velge et Hypo midlertidig mål?</string>
|
||||||
<string name="hypott_wrongbasal">For å korrigere følinger som er forårsaket av feil i dine basalinnstillinger.</string>
|
<string name="hypott_wrongbasal">For å korrigere følinger som er forårsaket av feil i dine basalinnstillinger.</string>
|
||||||
<string name="hypott_preventoversmb">For å forhindre at AAPS overkorrigerer for en blodglukoseøkning forårsaket av de hurtigvirkende karbohydratene som brukes til behandling av en hypo.</string>
|
<string name="hypott_preventoversmb">For å forhindre at AAPS overkorrigerer for en blodglukoseøkning forårsaket av de hurtigvirkende karbohydratene som brukes til behandling av en hypo.</string>
|
||||||
<string name="hypott_exercise">For å korrigere for en føling som er et resultat av trening.</string>
|
<string name="hypott_exercise">For å korrigere for en føling som er et resultat av trening.</string>
|
||||||
|
@ -55,11 +55,11 @@
|
||||||
<string name="exercise_label">Trening og midlertidige målverdier (temp targets)</string>
|
<string name="exercise_label">Trening og midlertidige målverdier (temp targets)</string>
|
||||||
<string name="exercise_whattodo">Hvordan kan du bruke midlertidige målverdier til å hjelpe systemet å håndtere aerobic trening?</string>
|
<string name="exercise_whattodo">Hvordan kan du bruke midlertidige målverdier til å hjelpe systemet å håndtere aerobic trening?</string>
|
||||||
<string name="exercise_settt">Sett et midlertidig mål for blodsukkeret som starter en passende tid før treningen begynner.</string>
|
<string name="exercise_settt">Sett et midlertidig mål for blodsukkeret som starter en passende tid før treningen begynner.</string>
|
||||||
<string name="exercise_setfinished">Angi en temp mål for Trening etter at du har avsluttet treningen.</string>
|
<string name="exercise_setfinished">Angi et midlertidig mål for Aktivitet etter at du har avsluttet treningen.</string>
|
||||||
<string name="exercise_setunchanged">La målverdien for ditt blodsukker være uforandret.</string>
|
<string name="exercise_setunchanged">La målverdien for ditt blodsukker være uforandret.</string>
|
||||||
<string name="exercise_15g">Vent til blodsukkeret ditt synker under Hypo temp target og spis så 15 gram med hurtigvirkende karbohydrater.</string>
|
<string name="exercise_15g">Vent til blodsukkeret ditt synker under Hypo midlertidig mål og spis så 15 gram med hurtigvirkende karbohydrater.</string>
|
||||||
<string name="exercise_hint1">https://wiki.aaps.app/en/latest/Usage/temptarget.html#activity-temp-target</string>
|
<string name="exercise_hint1">https://wiki.aaps.app/en/latest/Usage/temptarget.html#activity-temp-target</string>
|
||||||
<string name="suspendloop_doigetinsulin">Får jag insulin når loop er stanset/pauset?</string>
|
<string name="suspendloop_doigetinsulin">Får jeg insulin når loop er stanset/pauset?</string>
|
||||||
<string name="suspendloop_yes">Ja, basal insulin vil fortsatt bli levert.</string>
|
<string name="suspendloop_yes">Ja, basal insulin vil fortsatt bli levert.</string>
|
||||||
<string name="suspendloop_no">Nei, levering av insulin er stanset.</string>
|
<string name="suspendloop_no">Nei, levering av insulin er stanset.</string>
|
||||||
<string name="basaltest_label">Test av basaldoser, ISF og KH ratio</string>
|
<string name="basaltest_label">Test av basaldoser, ISF og KH ratio</string>
|
||||||
|
@ -150,7 +150,7 @@
|
||||||
<string name="cob3_no_effect">Ved å sette profilen til 150% påvirkes ikke beregningen av absorbering av karbohydrater</string>
|
<string name="cob3_no_effect">Ved å sette profilen til 150% påvirkes ikke beregningen av absorbering av karbohydrater</string>
|
||||||
<string name="cob_hint1">https://wiki.aaps.app/en/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value</string>
|
<string name="cob_hint1">https://wiki.aaps.app/en/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value</string>
|
||||||
<string name="iob_value">IOB verdi påvirkes av midlertidige temp basaler.</string>
|
<string name="iob_value">IOB verdi påvirkes av midlertidige temp basaler.</string>
|
||||||
<string name="iob_hightemp">Høy temp basal vil ikke bli gitt når ditt blodsukker er under målverdi.</string>
|
<string name="iob_hightemp">Høy midlertidig basal vil ikke bli gitt når ditt blodsukker er under målverdi.</string>
|
||||||
<string name="iob_negiob">Negativ IOB i en lengre periode selv om du ikke trener tyder på at profilen din gir for mye insulin og kanskje bør reduseres i innstillingene.</string>
|
<string name="iob_negiob">Negativ IOB i en lengre periode selv om du ikke trener tyder på at profilen din gir for mye insulin og kanskje bør reduseres i innstillingene.</string>
|
||||||
<string name="iob_posiob">Positiv IOB for en lengre periode tyder på enten økt insulinresistens eller uannonserte måltider.</string>
|
<string name="iob_posiob">Positiv IOB for en lengre periode tyder på enten økt insulinresistens eller uannonserte måltider.</string>
|
||||||
<string name="breadgrams_label">Karbohydrater og bolus</string>
|
<string name="breadgrams_label">Karbohydrater og bolus</string>
|
||||||
|
@ -207,7 +207,7 @@
|
||||||
<string name="profileswitchtime_iwant">Hvis du står opp 2 timer tidligere enn vanlig, hvordan forteller du AndroidAPS om endringen i døgnrytmen din?</string>
|
<string name="profileswitchtime_iwant">Hvis du står opp 2 timer tidligere enn vanlig, hvordan forteller du AndroidAPS om endringen i døgnrytmen din?</string>
|
||||||
<string name="profileswitchtime_2">Gjør et profilbytte med en tidsforskyvning på 2</string>
|
<string name="profileswitchtime_2">Gjør et profilbytte med en tidsforskyvning på 2</string>
|
||||||
<string name="profileswitchtime__2">Gjør et profilbytte med en tidsforskyvning på -2</string>
|
<string name="profileswitchtime__2">Gjør et profilbytte med en tidsforskyvning på -2</string>
|
||||||
<string name="profileswitchtime_tt">Angi et \"spise snart\" temp target.</string>
|
<string name="profileswitchtime_tt">Angi et \"Spise snart\" midlertidig mål.</string>
|
||||||
<string name="profileswitchtime_100">Gjør et profilbytte til mer enn 100%.</string>
|
<string name="profileswitchtime_100">Gjør et profilbytte til mer enn 100%.</string>
|
||||||
<string name="profileswitchtime_hint1">https://wiki.aaps.app/en/latest/Usage/Profiles.html#timeshift</string>
|
<string name="profileswitchtime_hint1">https://wiki.aaps.app/en/latest/Usage/Profiles.html#timeshift</string>
|
||||||
<string name="profileswitch4_label">Endring av profil</string>
|
<string name="profileswitch4_label">Endring av profil</string>
|
||||||
|
|
|
@ -54,12 +54,12 @@
|
||||||
<string name="objectives_exam_learned_dia">Insulinvarighet (DIA) i looping har en annen betydning (tid før alt insulin er absorbert) enn ved klassisk pumpebehandling (tid før det meste av insulinet er absorbert).</string>
|
<string name="objectives_exam_learned_dia">Insulinvarighet (DIA) i looping har en annen betydning (tid før alt insulin er absorbert) enn ved klassisk pumpebehandling (tid før det meste av insulinet er absorbert).</string>
|
||||||
<string name="objectives_exam_learned_isf">Du lærte betydningen av ISF-verdien og hvordan det påvirker mengden insulin som brukes for korreksjon av BS.</string>
|
<string name="objectives_exam_learned_isf">Du lærte betydningen av ISF-verdien og hvordan det påvirker mengden insulin som brukes for korreksjon av BS.</string>
|
||||||
<string name="objectives_exam_learned_ic">Du lærte betydningen av IK-verdien og hvordan det påvirker mengden insulin som brukes for dekke karbohydratene.</string>
|
<string name="objectives_exam_learned_ic">Du lærte betydningen av IK-verdien og hvordan det påvirker mengden insulin som brukes for dekke karbohydratene.</string>
|
||||||
<string name="objectives_exam_learned_hypott">Hypo temp target bør brukes for å forhindre enn overkorreksjon etter en hypo situasjon, når det vanligvis er bygget opp negativ IOB. Ytterligere tiltak bør vurderes for å forebygge denne situasjonen igjen i fremtiden.</string>
|
<string name="objectives_exam_learned_hypott">Hypo midlertidig mål bør brukes for å forhindre enn overkorreksjon etter en hypo situasjon, når det vanligvis er bygget opp negativ IOB. Ytterligere tiltak bør vurderes for å forebygge denne situasjonen igjen i fremtiden.</string>
|
||||||
<string name="objectives_exam_learned_profileswitch">Bruk av prosent påvirker ikke målverdier for BS men basal, ISF og IK justeres for å gi mer insulin (over 100%%) eller mindre insulin (under 100%%).</string>
|
<string name="objectives_exam_learned_profileswitch">Bruk av prosent påvirker ikke målverdier for BS men basal, ISF og IK justeres for å gi mer insulin (over 100%%) eller mindre insulin (under 100%%).</string>
|
||||||
<string name="objectives_exam_learned_profileswitchtime">Ved å bruke tidsskifte i profilbytte kan du tilpasse døgnprofilen til uregelmessigheter som for eksempel en sen oppvåkning.</string>
|
<string name="objectives_exam_learned_profileswitchtime">Ved å bruke tidsskifte i profilbytte kan du tilpasse døgnprofilen til uregelmessigheter som for eksempel en sen oppvåkning.</string>
|
||||||
<string name="objectives_exam_learned_profileswitch4">Redigering av profilen er ikke tilstrekkelig til å gjøre en endring. Du må fremdeles fysisk aktivere et profil bytte for å registrere endringene.</string>
|
<string name="objectives_exam_learned_profileswitch4">Redigering av profilen er ikke tilstrekkelig til å gjøre en endring. Du må fremdeles fysisk aktivere et profil bytte for å registrere endringene.</string>
|
||||||
<string name="objectives_exam_learned_exercise">Du bør redusere mengden insulin i kroppen minst 1 time før du starter treningen ved å velge profil under 100 %.</string>
|
<string name="objectives_exam_learned_exercise">Du bør redusere mengden insulin i kroppen minst 1 time før du starter treningen ved å velge profil under 100 %.</string>
|
||||||
<string name="objectives_exam_learned_exercise2">Ved å sette høyere temp target minst 1 time før trening så vil det bidra til å redusere mengden med insulin i kroppen.</string>
|
<string name="objectives_exam_learned_exercise2">Ved å sette høyere midlertidig mål minst 1 time før trening så vil det bidra til å redusere mengden med insulin i kroppen.</string>
|
||||||
<string name="objectives_exam_learned_noisycgm">Hvis du ikke stoler på CGM-verdier bør du ikke bruke loop uten tilsyn.</string>
|
<string name="objectives_exam_learned_noisycgm">Hvis du ikke stoler på CGM-verdier bør du ikke bruke loop uten tilsyn.</string>
|
||||||
<string name="objectives_exam_learned_pumpdisconnect">AAPS må vite at pumpen ikke er tilkoblet for å beregne IOB riktig.</string>
|
<string name="objectives_exam_learned_pumpdisconnect">AAPS må vite at pumpen ikke er tilkoblet for å beregne IOB riktig.</string>
|
||||||
<string name="objectives_exam_learned_insulin">Å vite hvilken type insulin som er i pumpen er nødvendig for å beregne IOB korrekt.</string>
|
<string name="objectives_exam_learned_insulin">Å vite hvilken type insulin som er i pumpen er nødvendig for å beregne IOB korrekt.</string>
|
||||||
|
|
|
@ -48,6 +48,6 @@
|
||||||
<string name="doyouwantresetstart">Deseja reiniciar o objetivo? Pode perder seu progresso.</string>
|
<string name="doyouwantresetstart">Deseja reiniciar o objetivo? Pode perder seu progresso.</string>
|
||||||
<string name="objectives_next_button">Próxima</string>
|
<string name="objectives_next_button">Próxima</string>
|
||||||
<string name="objectives_previous_button">Anterior</string>
|
<string name="objectives_previous_button">Anterior</string>
|
||||||
<string name="objectives_button_unfinish">Redefinir estado terminado</string>
|
<string name="objectives_button_unfinish">Reiniciar objetivo</string>
|
||||||
<string name="objectives_button_unstart">Redefinir estado terminado</string>
|
<string name="objectives_button_unstart">Reiniciar objetivo</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
android:id="@+id/loop_layout"
|
android:id="@+id/loop_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:layout_marginEnd="4dp"
|
|
||||||
android:orientation="horizontal" >
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<TextView
|
||||||
android:id="@+id/active_profile"
|
android:id="@+id/active_profile"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -40,23 +38,29 @@
|
||||||
android:layout_marginEnd="5dp"
|
android:layout_marginEnd="5dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:gravity="center_vertical|center_horizontal"
|
android:gravity="center_vertical|center_horizontal"
|
||||||
|
android:paddingTop="4dp"
|
||||||
|
android:paddingBottom="4dp"
|
||||||
android:hint="active profile"
|
android:hint="active profile"
|
||||||
android:text="Profile"
|
android:text="Profile"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:icon="@drawable/ic_ribbon_profile"
|
android:foreground="?attr/selectableItemBackgroundBorderless"
|
||||||
|
app:drawableStartCompat="@drawable/ic_ribbon_profile"
|
||||||
tools:ignore="HardcodedText" />
|
tools:ignore="HardcodedText" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<TextView
|
||||||
android:id="@+id/temp_target"
|
android:id="@+id/temp_target"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="end"
|
android:layout_gravity="end"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:gravity="center_vertical|center_horizontal"
|
android:gravity="center_vertical|center_horizontal"
|
||||||
|
android:paddingTop="4dp"
|
||||||
|
android:paddingBottom="4dp"
|
||||||
android:hint="temp target"
|
android:hint="temp target"
|
||||||
android:text="@string/value_unavailable_short"
|
android:text="@string/value_unavailable_short"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:icon="@drawable/ic_crosstarget"
|
android:foreground="?attr/selectableItemBackgroundBorderless"
|
||||||
|
app:drawableStartCompat="@drawable/ic_crosstarget"
|
||||||
tools:ignore="HardcodedText" />
|
tools:ignore="HardcodedText" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@ -68,7 +72,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginEnd="4dp"
|
||||||
android:layout_marginTop="1dp"
|
android:layout_marginTop="4dp"
|
||||||
app:cardCornerRadius="4dp"
|
app:cardCornerRadius="4dp"
|
||||||
app:contentPadding="2dp"
|
app:contentPadding="2dp"
|
||||||
app:cardElevation="2dp"
|
app:cardElevation="2dp"
|
||||||
|
|
|
@ -49,9 +49,9 @@
|
||||||
<string name="smscommunicator_tt_set">Objetivo %1$s para %2$d minutos establecido correctamente</string>
|
<string name="smscommunicator_tt_set">Objetivo %1$s para %2$d minutos establecido correctamente</string>
|
||||||
<string name="smscommunicator_tt_canceled">Objetivo temporal cancelado correctamente</string>
|
<string name="smscommunicator_tt_canceled">Objetivo temporal cancelado correctamente</string>
|
||||||
<string name="smscommunicator_remote_commands_allowed">Permitir comandos remotos vía SMS</string>
|
<string name="smscommunicator_remote_commands_allowed">Permitir comandos remotos vía SMS</string>
|
||||||
<string name="smscommunicator_loop_has_been_disabled">El bucle se ha desactivado</string>
|
<string name="smscommunicator_loop_has_been_disabled">El lazo se ha desactivado</string>
|
||||||
<string name="smscommunicator_loop_has_been_enabled">El bucle se ha activado</string>
|
<string name="smscommunicator_loop_has_been_enabled">El lazo se ha activado</string>
|
||||||
<string name="smscommunicator_loop_is_enabled">Bucle activo</string>
|
<string name="smscommunicator_loop_is_enabled">Lazo activo</string>
|
||||||
<string name="smscommunicator_pump_connect_with_code">Para conectar la bomba, responder con el código %1$s</string>
|
<string name="smscommunicator_pump_connect_with_code">Para conectar la bomba, responder con el código %1$s</string>
|
||||||
<string name="smscommunicator_pump_connect_fail">Error al conectar a la bomba</string>
|
<string name="smscommunicator_pump_connect_fail">Error al conectar a la bomba</string>
|
||||||
<string name="smscommunicator_pump_disconnect_with_code">Para desconectar la bomba durante %1$dminutos, responde con el código %2$s</string>
|
<string name="smscommunicator_pump_disconnect_with_code">Para desconectar la bomba durante %1$dminutos, responde con el código %2$s</string>
|
||||||
|
@ -64,10 +64,10 @@
|
||||||
<string name="smscommunicator_extended_reply_with_code">Para iniciar un bolo extendido de %1$.2fU durante %2$d minutos, responder con el código %3$s</string>
|
<string name="smscommunicator_extended_reply_with_code">Para iniciar un bolo extendido de %1$.2fU durante %2$d minutos, responder con el código %3$s</string>
|
||||||
<string name="smscommunicator_carbs_reply_with_code">Para introducir %1$dg en %2$s, responder con el código %3$s</string>
|
<string name="smscommunicator_carbs_reply_with_code">Para introducir %1$dg en %2$s, responder con el código %3$s</string>
|
||||||
<string name="smscommunicator_basal_pct_reply_with_code">Para iniciar una basal de %1$d%% durante %2$d min, responder con el código %3$s</string>
|
<string name="smscommunicator_basal_pct_reply_with_code">Para iniciar una basal de %1$d%% durante %2$d min, responder con el código %3$s</string>
|
||||||
<string name="smscommunicator_suspend_reply_with_code">Para suspender el bucle durante %1$d minutos, responde con el código %2$s</string>
|
<string name="smscommunicator_suspend_reply_with_code">Para suspender el lazo durante %1$d minutos, responde con el código %2$s</string>
|
||||||
<string name="smscommunicator_loop_resume_reply_with_code">Para reanudar el bucle, responde con el código %1$s</string>
|
<string name="smscommunicator_loop_resume_reply_with_code">Para reanudar el lazo, responde con el código %1$s</string>
|
||||||
<string name="smscommunicator_loop_enable_reply_with_code">Para activar el bucle, responder con el código %1$s</string>
|
<string name="smscommunicator_loop_enable_reply_with_code">Para activar el lazo, responder con el código %1$s</string>
|
||||||
<string name="smscommunicator_loop_disable_reply_with_code">Para desactivar el bucle, responder con el código %1$s</string>
|
<string name="smscommunicator_loop_disable_reply_with_code">Para desactivar el lazo, responder con el código %1$s</string>
|
||||||
<string name="smscommunicator_tempbasal_set">Basal temporal %1$.2fU/h durante %2$d minutos iniciada correctamente</string>
|
<string name="smscommunicator_tempbasal_set">Basal temporal %1$.2fU/h durante %2$d minutos iniciada correctamente</string>
|
||||||
<string name="smscommunicator_extended_set">Bolo extendido de %1$.2fU durante %2$d minutos se inició correctamente</string>
|
<string name="smscommunicator_extended_set">Bolo extendido de %1$.2fU durante %2$d minutos se inició correctamente</string>
|
||||||
<string name="smscommunicator_carbs_set">Carbohidratos %1$d g ingresados correctamente</string>
|
<string name="smscommunicator_carbs_set">Carbohidratos %1$d g ingresados correctamente</string>
|
||||||
|
@ -84,17 +84,17 @@
|
||||||
<string name="smscommunicator_unknown_command">Comando desconocido o respuesta incorrecta</string>
|
<string name="smscommunicator_unknown_command">Comando desconocido o respuesta incorrecta</string>
|
||||||
<string name="smscommunicator_another_bolus_in_queue">Hay otro bolo en cola. Inténtalo de nuevo más tarde.</string>
|
<string name="smscommunicator_another_bolus_in_queue">Hay otro bolo en cola. Inténtalo de nuevo más tarde.</string>
|
||||||
<string name="smscommunicator_wrong_duration">Duración incorrecta</string>
|
<string name="smscommunicator_wrong_duration">Duración incorrecta</string>
|
||||||
<string name="smscommunicator_loop_suspended">Bucle suspendido</string>
|
<string name="smscommunicator_loop_suspended">Lazo suspendido</string>
|
||||||
<string name="smscommunicator_loop_resumed">Bucle reanudado</string>
|
<string name="smscommunicator_loop_resumed">Lazo reanudado</string>
|
||||||
<string name="smscommunicator_invalid_phone_number">Número de teléfono incorrecto para SMS</string>
|
<string name="smscommunicator_invalid_phone_number">Número de teléfono incorrecto para SMS</string>
|
||||||
<string name="smscommunicator_calibration_sent">Calibración enviada. La recepción debe estar habilitada en xDrip+.</string>
|
<string name="smscommunicator_calibration_sent">Calibración enviada. La recepción debe estar habilitada en xDrip+.</string>
|
||||||
<string name="smscommunicator_calibration_failed">xDrip+ no está recibiendo calibraciones</string>
|
<string name="smscommunicator_calibration_failed">xDrip+ no está recibiendo calibraciones</string>
|
||||||
<string name="smscommunicator_message_body">El cuerpo del mensaje es inválido</string>
|
<string name="smscommunicator_message_body">El cuerpo del mensaje es inválido</string>
|
||||||
<string name="smscommunicator_report_pump_unreachable_summary">Enviar SMS si se activa un evento de bomba inaccesible</string>
|
<string name="smscommunicator_report_pump_unreachable_summary">Enviar SMS si se activa un evento de bomba inaccesible</string>
|
||||||
<string name="smscommunicator_pump_unreachable">Reportar bomba inalcanzable</string>
|
<string name="smscommunicator_pump_unreachable">Reportar bomba inalcanzable</string>
|
||||||
<string name="smscommunicator_set_lgs_reply_with_code">Para cambiar el modo del bucle a LGS (Suspensión por glucosa baja) responde con el código %1$s</string>
|
<string name="smscommunicator_set_lgs_reply_with_code">Para cambiar el modo lazo a LGS (Suspensión por glucosa baja) responde con el código %1$s</string>
|
||||||
<string name="smscommunicator_set_closed_loop_reply_with_code">Para cambiar el modo a bucle cerrado, responde con código %1$s</string>
|
<string name="smscommunicator_set_closed_loop_reply_with_code">Para cambiar el modo lazo a lazo cerrado, responde con código %1$s</string>
|
||||||
<string name="smscommunicator_current_loop_mode">Modo bucle actual: %1$s</string>
|
<string name="smscommunicator_current_loop_mode">Modo lazo actual: %1$s</string>
|
||||||
<string name="wrong_format">Formato incorrecto</string>
|
<string name="wrong_format">Formato incorrecto</string>
|
||||||
<string name="sms_actual_bg">Glucosa:</string>
|
<string name="sms_actual_bg">Glucosa:</string>
|
||||||
<string name="sms_last_bg">Última Glucosa:</string>
|
<string name="sms_last_bg">Última Glucosa:</string>
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
<string name="sms_profile_switch_created">Cambio de perfil creado</string>
|
<string name="sms_profile_switch_created">Cambio de perfil creado</string>
|
||||||
<string name="sms_wrong_tbr_duration">La duración de TBR debe ser un múltiplo de %1$d minutos y mayor a 0.</string>
|
<string name="sms_wrong_tbr_duration">La duración de TBR debe ser un múltiplo de %1$d minutos y mayor a 0.</string>
|
||||||
<string name="a11y_otp_qr_code">Código QR para la configuración de la contraseña de un sólo uso</string>
|
<string name="a11y_otp_qr_code">Código QR para la configuración de la contraseña de un sólo uso</string>
|
||||||
<string name="disabled_loop">Bucle desactivado</string>
|
<string name="disabled_loop">Lazo desactivado</string>
|
||||||
<!-- Food-->
|
<!-- Food-->
|
||||||
<string name="food_short">Comida</string>
|
<string name="food_short">Comida</string>
|
||||||
<string name="description_food">Muestra los ajustes preestablecidos de alimentos definidos en Nightscout</string>
|
<string name="description_food">Muestra los ajustes preestablecidos de alimentos definidos en Nightscout</string>
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
<string name="overview_cgm">MCG</string>
|
<string name="overview_cgm">MCG</string>
|
||||||
<string name="overview">Inicio</string>
|
<string name="overview">Inicio</string>
|
||||||
<string name="overview_shortname">INICIO</string>
|
<string name="overview_shortname">INICIO</string>
|
||||||
<string name="description_overview">Muestra el estado actual de tu bucle y los botones para las acciones más usadas</string>
|
<string name="description_overview">Muestra el estado actual de tu lazo y los botones para las acciones más usadas</string>
|
||||||
<string name="overview_buttons_selection">Botones</string>
|
<string name="overview_buttons_selection">Botones</string>
|
||||||
<string name="show_calibration_button_summary">Envía una calibración a xDrip+ o abre la pantalla de calibración de Dexcom BYODA</string>
|
<string name="show_calibration_button_summary">Envía una calibración a xDrip+ o abre la pantalla de calibración de Dexcom BYODA</string>
|
||||||
<string name="show_cgm_button_summary">Abre xDrip+ o Dexcom BYODA. Si pulsas el botón atrás, regresa a AAPS</string>
|
<string name="show_cgm_button_summary">Abre xDrip+ o Dexcom BYODA. Si pulsas el botón atrás, regresa a AAPS</string>
|
||||||
|
@ -287,6 +287,6 @@
|
||||||
<!-- Iob-->
|
<!-- Iob-->
|
||||||
<string name="send_logfiles">Enviar los archivos de registro de hoy a los desarrolladores. Situación inesperada.</string>
|
<string name="send_logfiles">Enviar los archivos de registro de hoy a los desarrolladores. Situación inesperada.</string>
|
||||||
<!-- PersistentNotification-->
|
<!-- PersistentNotification-->
|
||||||
<string name="description_persistent_notification">Muestra una notificación en curso con un breve resumen de lo que está haciendo tu bucle</string>
|
<string name="description_persistent_notification">Muestra una notificación en curso con un breve resumen de lo que está haciendo tu lazo</string>
|
||||||
<string name="old_data">DATOS CADUCADOS</string>
|
<string name="old_data">DATOS CADUCADOS</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
<!-- Actions -->
|
<!-- Actions -->
|
||||||
<string name="actions">Handlinger</string>
|
<string name="actions">Handlinger</string>
|
||||||
<string name="description_actions">Hurtigknapper for rask tilgang til ofte brukte funksjoner</string>
|
<string name="description_actions">Hurtigknapper for rask tilgang til ofte brukte funksjoner</string>
|
||||||
<string name="actions_shortname">HNDL</string>
|
<string name="actions_shortname">HAND</string>
|
||||||
<string name="tempbasal_button">Midlertidig basal</string>
|
<string name="tempbasal_button">Midlertidig basal</string>
|
||||||
<string name="extended_bolus_button">Forlenget bolus</string>
|
<string name="extended_bolus_button">Forlenget bolus</string>
|
||||||
<string name="extended_bolus_cancel_button">Avbryt forlenget bolus</string>
|
<string name="extended_bolus_cancel_button">Avbryt forlenget bolus</string>
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
<string name="constraints_violation">Brudd på begrensninger</string>
|
<string name="constraints_violation">Brudd på begrensninger</string>
|
||||||
<string name="change_your_input">Endre dine inndata!</string>
|
<string name="change_your_input">Endre dine inndata!</string>
|
||||||
<string name="openaps">OpenAPS</string>
|
<string name="openaps">OpenAPS</string>
|
||||||
<string name="uploader">Opplaster</string>
|
<string name="uploader">Opplaster-batteri</string>
|
||||||
<string name="data_status">BS data status</string>
|
<string name="data_status">BS data status</string>
|
||||||
<string name="quickwizard_settings">Innstillinger for hurtigknapp</string>
|
<string name="quickwizard_settings">Innstillinger for hurtigknapp</string>
|
||||||
<string name="keep_screen_on_title">Hold skjermen påslått</string>
|
<string name="keep_screen_on_title">Hold skjermen påslått</string>
|
||||||
|
|
|
@ -528,10 +528,10 @@ class DataSyncSelectorV3 @Inject constructor(
|
||||||
aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. Only NS id changed ID: ${eb.second.id} ")
|
aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. Only NS id changed ID: ${eb.second.id} ")
|
||||||
// without nsId = create new
|
// without nsId = create new
|
||||||
eb.first.interfaceIDs.nightscoutId == null ->
|
eb.first.interfaceIDs.nightscoutId == null ->
|
||||||
cont = activePlugin.activeNsClient?.nsAdd("treatments", DataSyncSelector.PairExtendedBolus(eb.first, eb.second.id), "$startId/$lastDbId") ?: false
|
cont = activePlugin.activeNsClient?.nsAdd("treatments", DataSyncSelector.PairExtendedBolus(eb.first, eb.second.id), "$startId/$lastDbId", profile) ?: false
|
||||||
// with nsId = update
|
// with nsId = update
|
||||||
eb.first.interfaceIDs.nightscoutId != null ->
|
eb.first.interfaceIDs.nightscoutId != null ->
|
||||||
cont = activePlugin.activeNsClient?.nsUpdate("treatments", DataSyncSelector.PairExtendedBolus(eb.first, eb.second.id), "$startId/$lastDbId") ?: false
|
cont = activePlugin.activeNsClient?.nsUpdate("treatments", DataSyncSelector.PairExtendedBolus(eb.first, eb.second.id), "$startId/$lastDbId", profile) ?: false
|
||||||
}
|
}
|
||||||
} else aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. No profile: ${eb.second.id} ")
|
} else aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. No profile: ${eb.second.id} ")
|
||||||
if (cont) confirmLastExtendedBolusIdIfGreater(eb.second.id)
|
if (cont) confirmLastExtendedBolusIdIfGreater(eb.second.id)
|
||||||
|
|
|
@ -188,7 +188,7 @@ class NSClientV3Plugin @Inject constructor(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
setClient("START")
|
setClient()
|
||||||
|
|
||||||
receiverDelegate.grabReceiversState()
|
receiverDelegate.grabReceiversState()
|
||||||
disposable += rxBus
|
disposable += rxBus
|
||||||
|
@ -203,8 +203,8 @@ class NSClientV3Plugin @Inject constructor(
|
||||||
assert(nsClientV3Service != null)
|
assert(nsClientV3Service != null)
|
||||||
if (ev.connected) {
|
if (ev.connected) {
|
||||||
when {
|
when {
|
||||||
isAllowed && nsClientV3Service?.storageSocket == null -> setClient("CONNECTIVITY") // socket must be created
|
isAllowed && nsClientV3Service?.storageSocket == null -> setClient() // socket must be created
|
||||||
!isAllowed && nsClientV3Service?.storageSocket != null -> shutdownWebsockets()
|
!isAllowed && nsClientV3Service?.storageSocket != null -> stopService()
|
||||||
}
|
}
|
||||||
if (isAllowed) executeLoop("CONNECTIVITY", forceNew = false)
|
if (isAllowed) executeLoop("CONNECTIVITY", forceNew = false)
|
||||||
}
|
}
|
||||||
|
@ -221,8 +221,8 @@ class NSClientV3Plugin @Inject constructor(
|
||||||
ev.isChanged(rh.gs(app.aaps.core.utils.R.string.key_ns_alarms)) ||
|
ev.isChanged(rh.gs(app.aaps.core.utils.R.string.key_ns_alarms)) ||
|
||||||
ev.isChanged(rh.gs(app.aaps.core.utils.R.string.key_ns_announcements))
|
ev.isChanged(rh.gs(app.aaps.core.utils.R.string.key_ns_announcements))
|
||||||
) {
|
) {
|
||||||
shutdownWebsockets()
|
stopService()
|
||||||
setClient("SETTING CHANGE")
|
setClient()
|
||||||
}
|
}
|
||||||
if (ev.isChanged(rh.gs(app.aaps.core.utils.R.string.key_local_profile_last_change)))
|
if (ev.isChanged(rh.gs(app.aaps.core.utils.R.string.key_local_profile_last_change)))
|
||||||
executeUpload("PROFILE_CHANGE", forceNew = true)
|
executeUpload("PROFILE_CHANGE", forceNew = true)
|
||||||
|
@ -310,7 +310,7 @@ class NSClientV3Plugin @Inject constructor(
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
handler.removeCallbacksAndMessages(null)
|
handler.removeCallbacksAndMessages(null)
|
||||||
disposable.clear()
|
disposable.clear()
|
||||||
shutdownWebsockets()
|
stopService()
|
||||||
super.onStop()
|
super.onStop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ class NSClientV3Plugin @Inject constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setClient(reason: String) {
|
private fun setClient() {
|
||||||
if (nsAndroidClient == null)
|
if (nsAndroidClient == null)
|
||||||
nsAndroidClient = NSAndroidClientImpl(
|
nsAndroidClient = NSAndroidClientImpl(
|
||||||
baseUrl = sp.getString(app.aaps.core.utils.R.string.key_nsclientinternal_url, "").lowercase().replace("https://", "").replace(Regex("/$"), ""),
|
baseUrl = sp.getString(app.aaps.core.utils.R.string.key_nsclientinternal_url, "").lowercase().replace("https://", "").replace(Regex("/$"), ""),
|
||||||
|
@ -348,24 +348,18 @@ class NSClientV3Plugin @Inject constructor(
|
||||||
logger = { msg -> aapsLogger.debug(LTag.HTTP, msg) }
|
logger = { msg -> aapsLogger.debug(LTag.HTTP, msg) }
|
||||||
)
|
)
|
||||||
SystemClock.sleep(2000)
|
SystemClock.sleep(2000)
|
||||||
initializeWebSockets(reason)
|
startService()
|
||||||
rxBus.send(EventSWSyncStatus(status))
|
rxBus.send(EventSWSyncStatus(status))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initializeWebSockets(reason: String) {
|
private fun startService() {
|
||||||
if (sp.getBoolean(app.aaps.core.utils.R.string.key_ns_use_ws, true)) {
|
if (sp.getBoolean(app.aaps.core.utils.R.string.key_ns_use_ws, true)) {
|
||||||
context.bindService(Intent(context, NSClientV3Service::class.java), serviceConnection, Context.BIND_AUTO_CREATE)
|
context.bindService(Intent(context, NSClientV3Service::class.java), serviceConnection, Context.BIND_AUTO_CREATE)
|
||||||
while (nsClientV3Service == null) {
|
|
||||||
aapsLogger.debug(LTag.NSCLIENT, "Waiting for service start")
|
|
||||||
SystemClock.sleep(100)
|
|
||||||
}
|
|
||||||
nsClientV3Service?.initializeWebSockets(reason)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun shutdownWebsockets() {
|
private fun stopService() {
|
||||||
if (nsClientV3Service != null) context.unbindService(serviceConnection)
|
if (nsClientV3Service != null) context.unbindService(serviceConnection)
|
||||||
nsClientV3Service?.shutdownWebsockets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun resend(reason: String) {
|
override fun resend(reason: String) {
|
||||||
|
|
|
@ -70,10 +70,12 @@ class NSClientV3Service : DaggerService() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
wakeLock = (getSystemService(Context.POWER_SERVICE) as PowerManager).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AndroidAPS:NSClientService")
|
wakeLock = (getSystemService(Context.POWER_SERVICE) as PowerManager).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AndroidAPS:NSClientService")
|
||||||
wakeLock?.acquire()
|
wakeLock?.acquire()
|
||||||
|
initializeWebSockets("onCreate")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
|
shutdownWebsockets()
|
||||||
disposable.clear()
|
disposable.clear()
|
||||||
if (wakeLock?.isHeld == true) wakeLock?.release()
|
if (wakeLock?.isHeld == true) wakeLock?.release()
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,7 +175,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
EventMobileToWear(
|
EventMobileToWear(
|
||||||
EventData.ConfirmAction(
|
EventData.ConfirmAction(
|
||||||
rh.gs(R.string.loop_status).uppercase(),
|
rh.gs(R.string.loop_status).uppercase(),
|
||||||
"TARGETS:\n$targetsStatus\n\n$loopStatus\n\nOAPS RESULT:\n$oAPSResultStatus",
|
"$targetsStatus\n\n$loopStatus\n\n$oAPSResultStatus",
|
||||||
returnCommand = null
|
returnCommand = null
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -336,7 +336,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
val dummies: MutableList<TotalDailyDose> = LinkedList()
|
val dummies: MutableList<TotalDailyDose> = LinkedList()
|
||||||
val historyList = getTDDList(dummies)
|
val historyList = getTDDList(dummies)
|
||||||
if (isOldData(historyList)) {
|
if (isOldData(historyList)) {
|
||||||
message = "OLD DATA - "
|
message = rh.gs(app.aaps.core.ui.R.string.tdd_old_data) + ", "
|
||||||
//if pump is not busy: try to fetch data
|
//if pump is not busy: try to fetch data
|
||||||
if (activePump.isBusy()) {
|
if (activePump.isBusy()) {
|
||||||
message += rh.gs(app.aaps.core.ui.R.string.pump_busy)
|
message += rh.gs(app.aaps.core.ui.R.string.pump_busy)
|
||||||
|
@ -434,7 +434,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (bolusWizard.calculatedTotalInsulin <= 0 && bolusWizard.carbs <= 0) {
|
if (bolusWizard.calculatedTotalInsulin <= 0 && bolusWizard.carbs <= 0) {
|
||||||
sendError("No insulin required")
|
sendError(rh.gs(app.aaps.core.ui.R.string.wizard_no_insulin_required))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val message =
|
val message =
|
||||||
|
@ -540,7 +540,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
message += "\n" + rh.gs(app.aaps.core.ui.R.string.constraint_applied)
|
message += "\n" + rh.gs(app.aaps.core.ui.R.string.constraint_applied)
|
||||||
}
|
}
|
||||||
if (carbsAfterConstraints <= 0) {
|
if (carbsAfterConstraints <= 0) {
|
||||||
sendError("Carbs = 0! No action taken!")
|
sendError(rh.gs(app.aaps.core.ui.R.string.carb_equal_zero_no_action))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
rxBus.send(
|
rxBus.send(
|
||||||
|
@ -998,7 +998,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
private
|
private
|
||||||
val targetsStatus: String
|
val targetsStatus: String
|
||||||
get() {
|
get() {
|
||||||
var ret = ""
|
var ret = rh.gs(app.aaps.core.ui.R.string.loopstatus_targets) + "\n"
|
||||||
if (!config.APS) {
|
if (!config.APS) {
|
||||||
return rh.gs(R.string.target_only_aps_mode)
|
return rh.gs(R.string.target_only_aps_mode)
|
||||||
}
|
}
|
||||||
|
@ -1020,7 +1020,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
private
|
private
|
||||||
val oAPSResultStatus: String
|
val oAPSResultStatus: String
|
||||||
get() {
|
get() {
|
||||||
var ret = ""
|
var ret = rh.gs(app.aaps.core.ui.R.string.loopstatus_OAPS_result) + "\n"
|
||||||
if (!config.APS)
|
if (!config.APS)
|
||||||
return rh.gs(R.string.aps_only)
|
return rh.gs(R.string.aps_only)
|
||||||
val usedAPS = activePlugin.activeAPS
|
val usedAPS = activePlugin.activeAPS
|
||||||
|
|
|
@ -120,6 +120,7 @@
|
||||||
<string name="data_broadcaster_description">Odesílání dat do Garmin aplikace G-Watch Wear App</string>
|
<string name="data_broadcaster_description">Odesílání dat do Garmin aplikace G-Watch Wear App</string>
|
||||||
<!-- GarminPlugin -->
|
<!-- GarminPlugin -->
|
||||||
<string name="garmin">Garmin</string>
|
<string name="garmin">Garmin</string>
|
||||||
|
<string name="garmin_description">Připojení k zařízení Garmin (Fenix, Edge, …)</string>
|
||||||
<string name="key_garmin_settings">Nastavení hodinek Garmin</string>
|
<string name="key_garmin_settings">Nastavení hodinek Garmin</string>
|
||||||
<!-- Wear-->
|
<!-- Wear-->
|
||||||
<string name="wear_shortname">WEAR</string>
|
<string name="wear_shortname">WEAR</string>
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
<string name="xdrip_status_show_bgi_title">Mostrar BGI</string>
|
<string name="xdrip_status_show_bgi_title">Mostrar BGI</string>
|
||||||
<string name="xdrip_status_show_bgi_summary">Agregar BGI a la línea de estado</string>
|
<string name="xdrip_status_show_bgi_summary">Agregar BGI a la línea de estado</string>
|
||||||
<string name="xdrip_status_settings">xDrip+ Línea de estado avanzada</string>
|
<string name="xdrip_status_settings">xDrip+ Línea de estado avanzada</string>
|
||||||
<string name="disabled_loop">Bucle desactivado</string>
|
<string name="disabled_loop">Lazo desactivado</string>
|
||||||
<string name="xdrip_send_status_title">Enviar línea de estado a xDrip+</string>
|
<string name="xdrip_send_status_title">Enviar línea de estado a xDrip+</string>
|
||||||
<string name="xdrip_not_installed">xDrip+ no instalado</string>
|
<string name="xdrip_not_installed">xDrip+ no instalado</string>
|
||||||
<string name="calibration_sent">Calibración enviada a xDrip+</string>
|
<string name="calibration_sent">Calibración enviada a xDrip+</string>
|
||||||
|
@ -127,7 +127,7 @@
|
||||||
<string name="description_wear">Supervisar y controlar AAPS usando un reloj WearOS</string>
|
<string name="description_wear">Supervisar y controlar AAPS usando un reloj WearOS</string>
|
||||||
<string name="no_watch_connected">(Ningún reloj conectado)</string>
|
<string name="no_watch_connected">(Ningún reloj conectado)</string>
|
||||||
<string name="pump_status">Estado de la bomba de insulina</string>
|
<string name="pump_status">Estado de la bomba de insulina</string>
|
||||||
<string name="loop_status">Estado del bucle</string>
|
<string name="loop_status">Estado del lazo</string>
|
||||||
<string name="wizard_result">Calc. Asistente:\nInsulina: %1$.2fU\nCarbohidratos: %2$dg</string>
|
<string name="wizard_result">Calc. Asistente:\nInsulina: %1$.2fU\nCarbohidratos: %2$dg</string>
|
||||||
<string name="quick_wizard_not_available">El asistente rápido seleccionado ya no está disponible, por favor actualice su tarjeta</string>
|
<string name="quick_wizard_not_available">El asistente rápido seleccionado ya no está disponible, por favor actualice su tarjeta</string>
|
||||||
<string name="quick_wizard_message">Asistente Rápido: %1$s\nInsulina: %2$.2fU\nCarbohidratos: %3$dg</string>
|
<string name="quick_wizard_message">Asistente Rápido: %1$s\nInsulina: %2$.2fU\nCarbohidratos: %3$dg</string>
|
||||||
|
@ -178,9 +178,9 @@
|
||||||
<string name="no_profile">Ningún perfil cargado</string>
|
<string name="no_profile">Ningún perfil cargado</string>
|
||||||
<string name="aps_only">Sólo se aplica en modo APS</string>
|
<string name="aps_only">Sólo se aplica en modo APS</string>
|
||||||
<string name="last_aps_result_na">¡Último resultado no disponible!</string>
|
<string name="last_aps_result_na">¡Último resultado no disponible!</string>
|
||||||
<string name="loop_status_closed">BUCLE CERRADO</string>
|
<string name="loop_status_closed">LAZO CERRADO</string>
|
||||||
<string name="loop_status_open">BUCLE ABIERTO</string>
|
<string name="loop_status_open">LAZO ABIERTO</string>
|
||||||
<string name="loop_status_disabled">BUCLE DESACTIVADO</string>
|
<string name="loop_status_disabled">LAZO DESACTIVADO</string>
|
||||||
<string name="aps">APS</string>
|
<string name="aps">APS</string>
|
||||||
<string name="last_run">Última ejecución</string>
|
<string name="last_run">Última ejecución</string>
|
||||||
<string name="last_enact">Último acto</string>
|
<string name="last_enact">Último acto</string>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<string name="profile_switches">Profilbytter</string>
|
<string name="profile_switches">Profilbytter</string>
|
||||||
<string name="total_daily_doses">Totale daglige doser</string>
|
<string name="total_daily_doses">Totale daglige doser</string>
|
||||||
<string name="temporary_basal_rates">Midlertidige basal doser</string>
|
<string name="temporary_basal_rates">Midlertidige basal doser</string>
|
||||||
<string name="temporary_targets">Temp Target</string>
|
<string name="temporary_targets">Midlertidige mål</string>
|
||||||
<string name="settings">Innstillinger</string>
|
<string name="settings">Innstillinger</string>
|
||||||
<string name="application_version">Programversjon</string>
|
<string name="application_version">Programversjon</string>
|
||||||
<string name="device_model">Enhetsmodell</string>
|
<string name="device_model">Enhetsmodell</string>
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
<string name="blocked_by_charging">Blokkert på grunn av ladealternativer</string>
|
<string name="blocked_by_charging">Blokkert på grunn av ladealternativer</string>
|
||||||
<string name="blocked_by_connectivity">Blokkert på grunn av tilkoblingsalternativer</string>
|
<string name="blocked_by_connectivity">Blokkert på grunn av tilkoblingsalternativer</string>
|
||||||
<string name="unsupported_ns_version">Versjonen av Nightscout støttes ikke</string>
|
<string name="unsupported_ns_version">Versjonen av Nightscout støttes ikke</string>
|
||||||
<string name="openaps_short">OAPS</string>
|
<string name="openaps_short">OpenAPS</string>
|
||||||
<string name="uploader_short">OPPL</string>
|
<string name="uploader_short">Opplaster</string>
|
||||||
<string name="ns_malfunction">NSClient feil. Vurder omstart av NS og NSClient.</string>
|
<string name="ns_malfunction">NSClient feil. Vurder omstart av NS og NSClient.</string>
|
||||||
<!-- NSClient -->
|
<!-- NSClient -->
|
||||||
<string name="no_write_permission">NSCLIENT har ingen skriverettighet. Feil API-nøkkel?</string>
|
<string name="no_write_permission">NSCLIENT har ingen skriverettighet. Feil API-nøkkel?</string>
|
||||||
|
|
|
@ -116,11 +116,14 @@
|
||||||
<string name="xdrip_local_broadcasts_summary">Verzend glucose en behandelingsgegevens naar xDrip+. Gegevensbron \"xDrip+ Sync Follower\" moet worden geselecteerd en het accepteren van gegevens moet worden ingeschakeld in Instellingen - Inter-app instellingen - Accepteer Glucose/Behandelingen</string>
|
<string name="xdrip_local_broadcasts_summary">Verzend glucose en behandelingsgegevens naar xDrip+. Gegevensbron \"xDrip+ Sync Follower\" moet worden geselecteerd en het accepteren van gegevens moet worden ingeschakeld in Instellingen - Inter-app instellingen - Accepteer Glucose/Behandelingen</string>
|
||||||
<string name="xdrip_local_broadcasts_title">Activeer uitzendingen naar xDrip+.</string>
|
<string name="xdrip_local_broadcasts_title">Activeer uitzendingen naar xDrip+.</string>
|
||||||
<!-- DataBroadcast-->
|
<!-- DataBroadcast-->
|
||||||
|
<string name="data_broadcaster_short">DBRO</string>
|
||||||
|
<string name="data_broadcaster_description">Verzend gegevens naar Garmin\'s G-Watch Wear App</string>
|
||||||
<!-- GarminPlugin -->
|
<!-- GarminPlugin -->
|
||||||
<string name="garmin">Garmin</string>
|
<string name="garmin">Garmin</string>
|
||||||
<string name="garmin_description">Verbinding met Garmin apparaat (Fenix, Edge, …)</string>
|
<string name="garmin_description">Verbinding met Garmin apparaat (Fenix, Edge, …)</string>
|
||||||
<string name="key_garmin_settings">Garmin instellingen</string>
|
<string name="key_garmin_settings">Garmin instellingen</string>
|
||||||
<!-- Wear-->
|
<!-- Wear-->
|
||||||
|
<string name="wear_shortname">WEAR</string>
|
||||||
<string name="description_wear">Monitor en bedien AAPS met uw WearOS horloge.</string>
|
<string name="description_wear">Monitor en bedien AAPS met uw WearOS horloge.</string>
|
||||||
<string name="no_watch_connected">(Geen horloge verbonden)</string>
|
<string name="no_watch_connected">(Geen horloge verbonden)</string>
|
||||||
<string name="pump_status">Pomp status</string>
|
<string name="pump_status">Pomp status</string>
|
||||||
|
|
|
@ -116,8 +116,14 @@
|
||||||
<string name="xdrip_local_broadcasts_summary">Wyślij dane dotyczące glikemii i leczenia do xDrip+. W ustawieniach xDrip+ należy ustawić \"Sprzętowe źródło danych\" na \"xDrip+ Sync Follower\" oraz włączyć akceptowanie danych: \"Ustawienia innych aplikacji\" - \"Akceptuj Glukozę/Akceptuj zabiegi\"</string>
|
<string name="xdrip_local_broadcasts_summary">Wyślij dane dotyczące glikemii i leczenia do xDrip+. W ustawieniach xDrip+ należy ustawić \"Sprzętowe źródło danych\" na \"xDrip+ Sync Follower\" oraz włączyć akceptowanie danych: \"Ustawienia innych aplikacji\" - \"Akceptuj Glukozę/Akceptuj zabiegi\"</string>
|
||||||
<string name="xdrip_local_broadcasts_title">Włącz nadawanie do xDrip+.</string>
|
<string name="xdrip_local_broadcasts_title">Włącz nadawanie do xDrip+.</string>
|
||||||
<!-- DataBroadcast-->
|
<!-- DataBroadcast-->
|
||||||
|
<string name="data_broadcaster_short">DBRO</string>
|
||||||
|
<string name="data_broadcaster_description">Transmisja danych do aplikacji G-Watch Garmin</string>
|
||||||
<!-- GarminPlugin -->
|
<!-- GarminPlugin -->
|
||||||
|
<string name="garmin">Garmin</string>
|
||||||
|
<string name="garmin_description">Połączenie z urządzeniem Garmin (Fenix, Edge, …)</string>
|
||||||
|
<string name="key_garmin_settings">Ustawienia Garmin</string>
|
||||||
<!-- Wear-->
|
<!-- Wear-->
|
||||||
|
<string name="wear_shortname">WEAR</string>
|
||||||
<string name="description_wear">Monitoruj i steruj AAPS używając zegarka z WearOS.</string>
|
<string name="description_wear">Monitoruj i steruj AAPS używając zegarka z WearOS.</string>
|
||||||
<string name="no_watch_connected">(Brak połączonego zegarka)</string>
|
<string name="no_watch_connected">(Brak połączonego zegarka)</string>
|
||||||
<string name="pump_status">Status pompy</string>
|
<string name="pump_status">Status pompy</string>
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
<string name="combo_pump_action_bolusing">Inyectando (%1$.1f U)</string>
|
<string name="combo_pump_action_bolusing">Inyectando (%1$.1f U)</string>
|
||||||
<string name="combo_pump_action_refreshing">Actualizando</string>
|
<string name="combo_pump_action_refreshing">Actualizando</string>
|
||||||
<string name="combo_pump_unsupported_operation">Acción requerida no disponible por la bomba</string>
|
<string name="combo_pump_unsupported_operation">Acción requerida no disponible por la bomba</string>
|
||||||
<string name="combo_low_suspend_forced_notification">Uso inseguro: bolo extendido o multionda activo. El modo del bucle ha sido establecido a sólo suspensión en baja glucosa durante 6 horas. En modo bucle sólo se soportan el bolo estándar</string>
|
<string name="combo_low_suspend_forced_notification">Uso inseguro: bolo extendido o multionda activo. El modo del lazo ha sido fijado a sólo suspensión en baja glucosa durante 6 horas. En modo lazo sólo se soportan los bolo estándar.</string>
|
||||||
<string name="combo_force_disabled_notification">Uso inseguro: la bomba usa un perfil basal diferente al primero. El bucle ha sido apagado. Elige el primer perfil basal en la bomba y acualiza.</string>
|
<string name="combo_force_disabled_notification">Uso inseguro: la bomba usa un perfil basal diferente al primero. El lazo ha sido apagado. Elige el primer perfil basal en la bomba y acualiza.</string>
|
||||||
<string name="bolus_frequency_exceeded">Un bolo de mismo valor ha sido dado durante el pasado minuto. Para evitar bolos dobles y prevenir fallos de programa esto no está permitido.</string>
|
<string name="bolus_frequency_exceeded">Un bolo de mismo valor ha sido dado durante el pasado minuto. Para evitar bolos dobles y prevenir fallos de programa esto no está permitido.</string>
|
||||||
<string name="combo_pump_connected_now">Ahora</string>
|
<string name="combo_pump_connected_now">Ahora</string>
|
||||||
<string name="combo_activity_setting_basal_profile">Activando perfil base</string>
|
<string name="combo_activity_setting_basal_profile">Activando perfil base</string>
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
<string name="combo_reservoir_empty">Tom</string>
|
<string name="combo_reservoir_empty">Tom</string>
|
||||||
<string name="combo_reservoir_normal">Normal</string>
|
<string name="combo_reservoir_normal">Normal</string>
|
||||||
<string name="combo_notification_check_time_date">Pumpens tid må oppdateres</string>
|
<string name="combo_notification_check_time_date">Pumpens tid må oppdateres</string>
|
||||||
<string name="combo_pump_tbr_cancelled_warrning">Varsel om kansellering av temp basal er bekreftet</string>
|
<string name="combo_pump_tbr_cancelled_warrning">Varsel om kansellering av midlertidig basal er bekreftet</string>
|
||||||
<string name="combo_error_no_connection_no_bolus_delivered">Ingen kontakt med pumpen. Ingen bolus er levert</string>
|
<string name="combo_error_no_connection_no_bolus_delivered">Ingen kontakt med pumpen. Ingen bolus er levert</string>
|
||||||
<string name="combo_error_no_bolus_delivered">Bolus avbrutt. Det virker som ingen bolus er levert. For å være sikker, sjekk pumpen for å unngå levering av dobbel bolus og gjør evt et nytt forsøk. For å unngå feil vil systemet aldri prøve å levere ny bolus.</string>
|
<string name="combo_error_no_bolus_delivered">Bolus avbrutt. Det virker som ingen bolus er levert. For å være sikker, sjekk pumpen for å unngå levering av dobbel bolus og gjør evt et nytt forsøk. For å unngå feil vil systemet aldri prøve å levere ny bolus.</string>
|
||||||
<string name="combo_error_partial_bolus_delivered">Bare %1$.2f E av bolusdosen på %2$.2f E ble levert på grunn av en feil. Sjekk pumpen for å kontrollere dette og iverksett nødvendige tiltak.</string>
|
<string name="combo_error_partial_bolus_delivered">Bare %1$.2f E av bolusdosen på %2$.2f E ble levert på grunn av en feil. Sjekk pumpen for å kontrollere dette og iverksett nødvendige tiltak.</string>
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
<string name="combo_actvity_reading_basal_profile">Leser basalprofil</string>
|
<string name="combo_actvity_reading_basal_profile">Leser basalprofil</string>
|
||||||
<string name="combo_bolus_rejected_due_to_pump_history_change">Pumpe historikken har blitt endret siden bolus kalkuleringen ble utført. Bolus har ikke blitt levert. Vennligst rekalkuler om bolus fortsatt er nødvendig.</string>
|
<string name="combo_bolus_rejected_due_to_pump_history_change">Pumpe historikken har blitt endret siden bolus kalkuleringen ble utført. Bolus har ikke blitt levert. Vennligst rekalkuler om bolus fortsatt er nødvendig.</string>
|
||||||
<string name="combo_error_updating_treatment_record">Bolus har blitt levert, men det oppsto en feil ved loggføring i behandlinger. Dette kan oppstå hvis to små bolus på samme størrelse blir levert i løpet av to minutter. Vennligst sjekk pumpe historikken og behandlinger loggen, og bruk Helseportal for å legge til de manglende behandlingene. Pass på at du ikke legger til to identiske behandlinger på samme minutt.</string>
|
<string name="combo_error_updating_treatment_record">Bolus har blitt levert, men det oppsto en feil ved loggføring i behandlinger. Dette kan oppstå hvis to små bolus på samme størrelse blir levert i løpet av to minutter. Vennligst sjekk pumpe historikken og behandlinger loggen, og bruk Helseportal for å legge til de manglende behandlingene. Pass på at du ikke legger til to identiske behandlinger på samme minutt.</string>
|
||||||
<string name="combo_high_temp_rejected_due_to_pump_history_changes">Avviser høy temp target siden kalkuleringen ikke tok hensyn til nylige endringer i pumpe historikken</string>
|
<string name="combo_high_temp_rejected_due_to_pump_history_changes">Avviser høyt midlertidig mål siden kalkuleringen ikke tok hensyn til nylige endringer i pumpe historikken</string>
|
||||||
<string name="combo_activity_checking_pump_state">Oppdaterer pumpestatus</string>
|
<string name="combo_activity_checking_pump_state">Oppdaterer pumpestatus</string>
|
||||||
<string name="combo_warning_pump_basal_rate_changed">Basal dosen i pumpen har blitt endret og vil i løpet av kort tid bli oppdatert</string>
|
<string name="combo_warning_pump_basal_rate_changed">Basal dosen i pumpen har blitt endret og vil i løpet av kort tid bli oppdatert</string>
|
||||||
<string name="combo_error_failure_reading_changed_basal_rate">Basalsats endret i pumpe, men lesing av den feilet</string>
|
<string name="combo_error_failure_reading_changed_basal_rate">Basalsats endret i pumpe, men lesing av den feilet</string>
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
<string name="combo_check_date">Den siste bolus er eldre enn 24t eller er i fremtiden. Vennligst sjekk at datoen i pumpen er korrekt.</string>
|
<string name="combo_check_date">Den siste bolus er eldre enn 24t eller er i fremtiden. Vennligst sjekk at datoen i pumpen er korrekt.</string>
|
||||||
<string name="combo_suspious_bolus_time">Tid/dato for levert bolus i pumpen er trolig feil, og IOB beregningen blir da feil. Vennligst sjekk pumpens tid/dato.</string>
|
<string name="combo_suspious_bolus_time">Tid/dato for levert bolus i pumpen er trolig feil, og IOB beregningen blir da feil. Vennligst sjekk pumpens tid/dato.</string>
|
||||||
<string name="combo_bolus_count">Antall boluser</string>
|
<string name="combo_bolus_count">Antall boluser</string>
|
||||||
<string name="combo_tbr_count">Antall temp basaler TBR</string>
|
<string name="combo_tbr_count">Antall midlertidige basaler TBR</string>
|
||||||
<string name="bolusstopped">Bolus stoppet</string>
|
<string name="bolusstopped">Bolus stoppet</string>
|
||||||
<string name="bolusstopping">Stopper bolus</string>
|
<string name="bolusstopping">Stopper bolus</string>
|
||||||
<string name="pump_commerror_label">Komm. feiltelling</string>
|
<string name="pump_commerror_label">Komm. feiltelling</string>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<string name="gettingpumpstatus">Henter pumpestatus</string>
|
<string name="gettingpumpstatus">Henter pumpestatus</string>
|
||||||
<string name="gettingextendedbolusstatus">Henter forlenget bolus status</string>
|
<string name="gettingextendedbolusstatus">Henter forlenget bolus status</string>
|
||||||
<string name="gettingbolusstatus">Henter bolus status</string>
|
<string name="gettingbolusstatus">Henter bolus status</string>
|
||||||
<string name="gettingtempbasalstatus">Henter temp basal status</string>
|
<string name="gettingtempbasalstatus">Henter status om midlertidig basal</string>
|
||||||
<string name="gettingpumpsettings">Henter pumpe innstillinger</string>
|
<string name="gettingpumpsettings">Henter pumpe innstillinger</string>
|
||||||
<string name="gettingpumptime">Henter pumpens tid</string>
|
<string name="gettingpumptime">Henter pumpens tid</string>
|
||||||
<string name="largetimedifftitle">Stor tidsforskjell</string>
|
<string name="largetimedifftitle">Stor tidsforskjell</string>
|
||||||
|
@ -48,11 +48,11 @@
|
||||||
<string name="approachingdailylimit">Maksimal daglig insulindose er snart nådd</string>
|
<string name="approachingdailylimit">Maksimal daglig insulindose er snart nådd</string>
|
||||||
<string name="startingbolus">Starter bolus dosering</string>
|
<string name="startingbolus">Starter bolus dosering</string>
|
||||||
<string name="waitingforestimatedbolusend">Venter på bolus slutt. Gjenværende %1$d sek.</string>
|
<string name="waitingforestimatedbolusend">Venter på bolus slutt. Gjenværende %1$d sek.</string>
|
||||||
<string name="stoppingtempbasal">Stopper temp basal</string>
|
<string name="stoppingtempbasal">Stopper midlertidig basal</string>
|
||||||
<string name="settingextendedbolus">Setter forlenget bolus</string>
|
<string name="settingextendedbolus">Setter forlenget bolus</string>
|
||||||
<string name="stoppingextendedbolus">Stopper forlenget bolus</string>
|
<string name="stoppingextendedbolus">Stopper forlenget bolus</string>
|
||||||
<string name="updatingbasalrates">Oppdaterer basaldoser</string>
|
<string name="updatingbasalrates">Oppdaterer basaldoser</string>
|
||||||
<string name="settingtempbasal">Setter temp basal</string>
|
<string name="settingtempbasal">Setter midlertidig basal</string>
|
||||||
<string name="waitingfortimesynchronization">Venter på tidsykronisering (%1$d sek)</string>
|
<string name="waitingfortimesynchronization">Venter på tidsykronisering (%1$d sek)</string>
|
||||||
<string name="wrongpumppassword">Feil pumpepassord!</string>
|
<string name="wrongpumppassword">Feil pumpepassord!</string>
|
||||||
<string name="danar_history_alarm">Alarmer</string>
|
<string name="danar_history_alarm">Alarmer</string>
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
<string name="startingbolus">Starter bolus dosering</string>
|
<string name="startingbolus">Starter bolus dosering</string>
|
||||||
<string name="waitingforestimatedbolusend">Venter på avsluttet bolus dosering</string>
|
<string name="waitingforestimatedbolusend">Venter på avsluttet bolus dosering</string>
|
||||||
<string name="gettingbolusstatus">Leser bolus status</string>
|
<string name="gettingbolusstatus">Leser bolus status</string>
|
||||||
<string name="stoppingtempbasal">Stopper temp basal</string>
|
<string name="stoppingtempbasal">Stopper midlertidig basal</string>
|
||||||
<string name="settingtempbasal">Setter temp basal</string>
|
<string name="settingtempbasal">Setter midlertidig basal</string>
|
||||||
<string name="settingextendedbolus">Setter forlenget bolus</string>
|
<string name="settingextendedbolus">Setter forlenget bolus</string>
|
||||||
<string name="stoppingextendedbolus">Stopper forlenget bolus</string>
|
<string name="stoppingextendedbolus">Stopper forlenget bolus</string>
|
||||||
<string name="updatingbasalrates">Oppdaterer basaldoser</string>
|
<string name="updatingbasalrates">Oppdaterer basaldoser</string>
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
<string name="processinghistory">"Behandler hendelse "</string>
|
<string name="processinghistory">"Behandler hendelse "</string>
|
||||||
<string name="apslastLogNum">aps_last_log_num</string>
|
<string name="apslastLogNum">aps_last_log_num</string>
|
||||||
<string name="apsWrappingCount">aps_wrapping_count</string>
|
<string name="apsWrappingCount">aps_wrapping_count</string>
|
||||||
<string name="diaconn_g8_history_tempbasal">Temp basal</string>
|
<string name="diaconn_g8_history_tempbasal">Midlertidig basal</string>
|
||||||
<string name="diaconng8_pump_settings">Diaconn pumpe innstillinger</string>
|
<string name="diaconng8_pump_settings">Diaconn pumpe innstillinger</string>
|
||||||
<string name="diaconn_g8_pumpalarm">Lyd</string>
|
<string name="diaconn_g8_pumpalarm">Lyd</string>
|
||||||
<string name="diaconn_g8_pumpalarm_sound">lyd</string>
|
<string name="diaconn_g8_pumpalarm_sound">lyd</string>
|
||||||
|
@ -146,12 +146,12 @@
|
||||||
<string name="diaconn_g8_errotpreceivedyet">Kommandoen ble ikke utført. Vennligst prøv igjen.</string>
|
<string name="diaconn_g8_errotpreceivedyet">Kommandoen ble ikke utført. Vennligst prøv igjen.</string>
|
||||||
<string name="diaconn_g8_logtubechange_title">Logg bytte av slangesett</string>
|
<string name="diaconn_g8_logtubechange_title">Logg bytte av slangesett</string>
|
||||||
<string name="diaconn_g8_logtubechange_summary">Legg til \"Slangesettbytte\" i Helseportal når den oppdages i historikken</string>
|
<string name="diaconn_g8_logtubechange_summary">Legg til \"Slangesettbytte\" i Helseportal når den oppdages i historikken</string>
|
||||||
<string name="diaconn_g8_logtempstart">Temp Basal startet</string>
|
<string name="diaconn_g8_logtempstart">Midlertidig basal startet</string>
|
||||||
<string name="diaconn_g8_errorcode_32">Vel Lav Glukose Stopp (LGS) er injeksjoner begrenset</string>
|
<string name="diaconn_g8_errorcode_32">Vel Lav Glukose Stopp (LGS) er injeksjoner begrenset</string>
|
||||||
<string name="diaconn_g8_errorcode_33">LGS status er PÅ. PÅ kommando er nektet.</string>
|
<string name="diaconn_g8_errorcode_33">LGS status er PÅ. PÅ kommando er nektet.</string>
|
||||||
<string name="diaconn_g8_errorcode_34">LGS status er AV. AV kommandoen er avslått.</string>
|
<string name="diaconn_g8_errorcode_34">LGS status er AV. AV kommandoen er avslått.</string>
|
||||||
<string name="diaconn_g8_errorcode_35">Temp basal avslått siden det allerede kjøres en temp basal</string>
|
<string name="diaconn_g8_errorcode_35">Midlertidig basal avslått siden det allerede kjøres en midlertidig basal</string>
|
||||||
<string name="diaconn_g8_errorcode_36">Stopp av temp basal avslått siden det ikke kjøres en temp basal</string>
|
<string name="diaconn_g8_errorcode_36">Stopp av midlertidig basal avslått siden det ikke kjøres en midlertidig basal</string>
|
||||||
<string name="diaconn_g8_cloudsend_summary">Send pumpe logger til Diaconn Cloud.</string>
|
<string name="diaconn_g8_cloudsend_summary">Send pumpe logger til Diaconn Cloud.</string>
|
||||||
<string name="diaconn_g8_cloudsend_title">Diaconn Cloud Sync</string>
|
<string name="diaconn_g8_cloudsend_title">Diaconn Cloud Sync</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -8,16 +8,16 @@
|
||||||
<string name="patch_expiration_reminders">Recordatorio de expiración del parche</string>
|
<string name="patch_expiration_reminders">Recordatorio de expiración del parche</string>
|
||||||
<string name="patch_buzzer_reminders">Recordatorios de sonidos del parche</string>
|
<string name="patch_buzzer_reminders">Recordatorios de sonidos del parche</string>
|
||||||
<string name="time_format_a_h_mm">h:mm a</string>
|
<string name="time_format_a_h_mm">h:mm a</string>
|
||||||
<string name="eopatch_ble_status">Estado del Bluetooth</string>
|
<string name="eopatch_ble_status">Estado del bluetooth</string>
|
||||||
<string name="eopatch_serial_number">Número de Serie</string>
|
<string name="eopatch_serial_number">Número de serie</string>
|
||||||
<string name="eopatch_lot_number">Número de Lote</string>
|
<string name="eopatch_lot_number">Número de lote</string>
|
||||||
<string name="eopatch_wakeup_time">Fecha de activación</string>
|
<string name="eopatch_wakeup_time">Fecha de activación</string>
|
||||||
<string name="eopatch_expiration_time">Fecha de expiración</string>
|
<string name="eopatch_expiration_time">Fecha de expiración</string>
|
||||||
<string name="eopatch_status">Estado</string>
|
<string name="eopatch_status">Estado</string>
|
||||||
<string name="eopatch_base_basal_rate">Tasa basal predeterminada</string>
|
<string name="eopatch_base_basal_rate">Tasa basal programada</string>
|
||||||
<string name="eopatch_temp_basal_rate">Tasa basal temporal</string>
|
<string name="eopatch_temp_basal_rate">Tasa basal temporal</string>
|
||||||
<string name="eopatch_total_delivered">Total entregado</string>
|
<string name="eopatch_total_delivered">Total entregado</string>
|
||||||
<string name="invalid_basal_rate">El perfil basal es inferior a 0.05 U/h EOPatch tiene una unidad de inyección mínima de 0.05 U. Por favor, inténtelo de nuevo después de ajustar el perfil usando la unidad miníma de inyección.</string>
|
<string name="invalid_basal_rate">La tasa basal del perfil es inferior a 0.05 U/h. EOPatch tiene una unidad de inyección mínima de 0.05U. Por favor, inténtelo de nuevo, después de ajustar el perfil usando la unidad de inyección mínima</string>
|
||||||
<string name="no_profile_selected">No se ha seleccionado ningún perfil. Por favor, seleccione un perfil e inténtelo de nuevo.</string>
|
<string name="no_profile_selected">No se ha seleccionado ningún perfil. Por favor, seleccione un perfil e inténtelo de nuevo.</string>
|
||||||
<string name="symbol_day">día</string>
|
<string name="symbol_day">día</string>
|
||||||
<string name="symbol_plus">+</string>
|
<string name="symbol_plus">+</string>
|
||||||
|
@ -30,24 +30,23 @@
|
||||||
<string name="patch_safe_deactivation_desc">Para cambiar al nuevo parche, el parche actual debe ser descartado. Todo suministro de insulina por parte del parche será cancelado.</string>
|
<string name="patch_safe_deactivation_desc">Para cambiar al nuevo parche, el parche actual debe ser descartado. Todo suministro de insulina por parte del parche será cancelado.</string>
|
||||||
<string name="patch_discard_complete_title">El parche se ha desactivado por completo.</string>
|
<string name="patch_discard_complete_title">El parche se ha desactivado por completo.</string>
|
||||||
<string name="patch_discard_complete_desc">El parche ha sido desactivado.\nDescarte el parche.\nElimine el parche pegado a tu cuerpo.</string>
|
<string name="patch_discard_complete_desc">El parche ha sido desactivado.\nDescarte el parche.\nElimine el parche pegado a tu cuerpo.</string>
|
||||||
<string name="patch_change_confirm_bolus_is_active_desc">Un bolo ha sido suministrado. ¿Realmente quieres cancelar el suministro de insulina y remover el parche?</string>
|
<string name="patch_change_confirm_bolus_is_active_desc">Se ha administrado un bolo en este momento. ¿Realmente quieres cancelar la administración de insulina y descartar el parche?</string>
|
||||||
<string name="patch_change_confirm_temp_basal_is_active_desc">Un basal temporal ha sido suministrado en este momento. ¿Realmente desea cancelar el suministro insulina y remover el parche?</string>
|
<string name="patch_change_confirm_temp_basal_is_active_desc">En este momento se está administrando una basal temporal. ¿Realmente quieres cancelar la administración de insulina y desechar el parche?</string>
|
||||||
<string name="patch_change_confirm_bolus_and_temp_basal_are_active_desc">Un bolo y un basal temporal han sido suministrados en este momento. ¿Realmente desea cancelar el suministro insulina y remover el parche?</string>
|
<string name="patch_change_confirm_bolus_and_temp_basal_are_active_desc">Un bolo y un basal temporal han sido suministrados en este momento. ¿Realmente desea cancelar el suministro insulina y remover el parche?</string>
|
||||||
<string name="patch_change_confirm_desc">¿Seguro que quiere remover el parche?</string>
|
<string name="patch_change_confirm_desc">¿Estás seguro de descartar el parche?</string>
|
||||||
<string name="patch_remaining_insulin">Insulina restante</string>
|
<string name="patch_remaining_insulin">Insulina restante</string>
|
||||||
<string name="patch_remaining_usage_period">Tiempo restante</string>
|
<string name="patch_remaining_usage_period">Tiempo restante</string>
|
||||||
<string name="patch_finish">Finalizar</string>
|
<string name="patch_finish">Finalizar</string>
|
||||||
<string name="patch_forced_discard">Remover</string>
|
<string name="patch_forced_discard">Descartar</string>
|
||||||
<string name="patch_comm_error_during_discard_status">Remueva el parche debido a un error de comunicación </string>
|
<string name="patch_comm_error_during_discard_status">Descartar el parche debido a un error de comunicación </string>
|
||||||
<string name="patch_comm_error_during_discard_desc">Para la desactivación normal, pulse \'Reintentar\'.\nPara desactivar unilateralmente, pulse \'Descartar\'.</string>
|
<string name="patch_comm_error_during_discard_desc">Para la desactivación normal, pulse \'Reintentar\'.\nPara desactivar unilateralmente, pulse \'Descartar\'.</string>
|
||||||
<string name="patch_comm_error_during_discard_desc_1">Para la desactivación normal, pulse \'Reintentar\'.</string>
|
<string name="patch_comm_error_during_discard_desc_1">Para la desactivación normal, pulse \'Reintentar\'.</string>
|
||||||
<string name="patch_comm_error_during_discard_desc_2">Para desactivar unilateralmente, pulse \"Remover\".</string>
|
<string name="patch_comm_error_during_discard_desc_2">Para desactivar unilateralmente, pulse \"Descartar\".</string>
|
||||||
<string name="patch_manually_turning_off_alarm_title">Apagar manualmente la alarma del parche</string>
|
<string name="patch_manually_turning_off_alarm_title">Apagar manualmente la alarma del parche</string>
|
||||||
<string name="patch_manually_turning_off_alarm_desc_1">Si se desactiva unilateralmente durante un error de comunicación, es posible que el sonido de alarma del parche no deje de sonar.</string>
|
<string name="patch_manually_turning_off_alarm_desc_1">Si se desactiva unilateralmente durante un error de comunicación, es posible que el sonido de alarma del parche no deje de sonar.</string>
|
||||||
<string name="patch_manually_turning_off_alarm_desc_2">En este caso, puede detenerlo completamente pulsando el botón de Alarma manual que libera el puerto del parche como se muestra a continuación:</string>
|
<string name="patch_manually_turning_off_alarm_desc_2">En este caso, puede detenerlo completamente pulsando el botón de Alarma manual que libera el puerto del parche como se muestra a continuación:</string>
|
||||||
<string name="patch_manually_turning_off_alarm_step_1">1. Retire el parche de su cuerpo y despegue la cinta adhesiva.</string>
|
<string name="patch_manually_turning_off_alarm_step_1">1. Retire el parche de su cuerpo y despegue la cinta adhesiva.</string>
|
||||||
<string name="patch_manually_turning_off_alarm_step_2">2. Use un clip, para presionar fuertemente el agujero al lado de a la entrada de insulina.</string>
|
<string name="patch_manually_turning_off_alarm_step_2">2. Use un clip, para presionar fuertemente el agujero al lado de a la entrada de insulina.</string>
|
||||||
<string name="patch_wake_up">Llenado de insulina</string>
|
|
||||||
<string name="patch_wake_up_step">1/6</string>
|
<string name="patch_wake_up_step">1/6</string>
|
||||||
<string name="patch_step_desc_1">1.</string>
|
<string name="patch_step_desc_1">1.</string>
|
||||||
<string name="patch_wake_up_desc_1">Llene un nuevo parche con insulina a temperatura ambiente. Compruebe el ángulo de la jeringa</string>
|
<string name="patch_wake_up_desc_1">Llene un nuevo parche con insulina a temperatura ambiente. Compruebe el ángulo de la jeringa</string>
|
||||||
|
|
|
@ -92,9 +92,9 @@
|
||||||
<string name="patch_cancel_pairing">Avbryt paringen</string>
|
<string name="patch_cancel_pairing">Avbryt paringen</string>
|
||||||
<string name="symbol_days">dager</string>
|
<string name="symbol_days">dager</string>
|
||||||
<string name="all_dose_unit"> E</string>
|
<string name="all_dose_unit"> E</string>
|
||||||
<string name="insulin_suspend_msg1">Når du pauser pumpen vil gjeldende bolus dosering & Temp basal bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s\n& Gjenværende insulin å levere: %3$.2f E</string>
|
<string name="insulin_suspend_msg1">Når du pauser pumpen vil gjeldende bolus dosering & midlertidig basal bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s\n& Gjenværende insulin å levere: %3$.2f E</string>
|
||||||
<string name="insulin_suspend_msg2">Når du pauser pumpen vil levering av bolus dose bli avbrutt. \n\nGjenværende insulin : %1$.2f E</string>
|
<string name="insulin_suspend_msg2">Når du pauser pumpen vil levering av bolus dose bli avbrutt. \n\nGjenværende insulin : %1$.2f E</string>
|
||||||
<string name="insulin_suspend_msg3">Når du pauser pumpen vil gjeldende Temp basal dosering bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s</string>
|
<string name="insulin_suspend_msg3">Når du pauser pumpen vil gjeldende midlertidig basaldosering bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s</string>
|
||||||
<string name="insulin_suspend_msg4">Insulintilførsel er pauset.</string>
|
<string name="insulin_suspend_msg4">Insulintilførsel er pauset.</string>
|
||||||
<string name="string_change_patch">Kast/bytt patch</string>
|
<string name="string_change_patch">Kast/bytt patch</string>
|
||||||
<string name="string_activate_patch">Aktiver Patch</string>
|
<string name="string_activate_patch">Aktiver Patch</string>
|
||||||
|
|
|
@ -71,8 +71,8 @@
|
||||||
<string name="medtronic_cmd_desc_get_model">Henter pumpe modell</string>
|
<string name="medtronic_cmd_desc_get_model">Henter pumpe modell</string>
|
||||||
<string name="medtronic_cmd_desc_get_basal_profile">Henter basal profil</string>
|
<string name="medtronic_cmd_desc_get_basal_profile">Henter basal profil</string>
|
||||||
<string name="medtronic_cmd_desc_set_basal_profile">Angi basal profil</string>
|
<string name="medtronic_cmd_desc_set_basal_profile">Angi basal profil</string>
|
||||||
<string name="medtronic_cmd_desc_get_tbr">Henter Temp Basal</string>
|
<string name="medtronic_cmd_desc_get_tbr">Henter midlertidig basal</string>
|
||||||
<string name="medtronic_cmd_desc_set_tbr">Angi Temp Basal</string>
|
<string name="medtronic_cmd_desc_set_tbr">Angi midlertidig basal</string>
|
||||||
<string name="medtronic_cmd_desc_cancel_tbr">Avbryt midlertidig basal</string>
|
<string name="medtronic_cmd_desc_cancel_tbr">Avbryt midlertidig basal</string>
|
||||||
<string name="medtronic_cmd_desc_set_bolus">Angi Bolus</string>
|
<string name="medtronic_cmd_desc_set_bolus">Angi Bolus</string>
|
||||||
<string name="medtronic_cmd_desc_get_remaining_insulin">Oppdater status insulinvolum</string>
|
<string name="medtronic_cmd_desc_get_remaining_insulin">Oppdater status insulinvolum</string>
|
||||||
|
@ -88,7 +88,7 @@
|
||||||
<string name="common_off">Av</string>
|
<string name="common_off">Av</string>
|
||||||
<string name="pump_time_updated">Pumpens tid ble oppdatert</string>
|
<string name="pump_time_updated">Pumpens tid ble oppdatert</string>
|
||||||
<string name="set_neutral_temps_title">Sett nøytrale temp basaler</string>
|
<string name="set_neutral_temps_title">Sett nøytrale temp basaler</string>
|
||||||
<string name="set_neutral_temps_summary">Hvis aktivert så vil den stoppe en temp basal rett før hver hele time for å stoppe noen pumpers varsler/vibreringer på hver hele time.</string>
|
<string name="set_neutral_temps_summary">Hvis aktivert så vil den stoppe en midlertidig basal rett før hver hele time for å stoppe noen pumpers varsler/vibreringer på hver hele time.</string>
|
||||||
<string name="mdt_tbr_remaining">%1$.1f E/t (%2$d min gjenstår)</string>
|
<string name="mdt_tbr_remaining">%1$.1f E/t (%2$d min gjenstår)</string>
|
||||||
<string name="invalid_history_data">Ugyldige data for pumpehistorikken er oppdaget. Rapporter hendelsen til APPS og legg ved logg.</string>
|
<string name="invalid_history_data">Ugyldige data for pumpehistorikken er oppdaget. Rapporter hendelsen til APPS og legg ved logg.</string>
|
||||||
<string name="riley_statistics">RL statistikk</string>
|
<string name="riley_statistics">RL statistikk</string>
|
||||||
|
|
|
@ -141,6 +141,7 @@ import kotlin.math.abs
|
||||||
preprocessAlarmSettings(preferenceFragment)
|
preprocessAlarmSettings(preferenceFragment)
|
||||||
preprocessMaxInsulinSettings(preferenceFragment)
|
preprocessMaxInsulinSettings(preferenceFragment)
|
||||||
preprocessConnectionAlertSettings(preferenceFragment)
|
preprocessConnectionAlertSettings(preferenceFragment)
|
||||||
|
preprocessPumpWarningSettings(preferenceFragment)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun preprocessSerialSettings(preferenceFragment: PreferenceFragmentCompat) {
|
private fun preprocessSerialSettings(preferenceFragment: PreferenceFragmentCompat) {
|
||||||
|
@ -263,6 +264,14 @@ import kotlin.math.abs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun preprocessPumpWarningSettings(preferenceFragment: PreferenceFragmentCompat) {
|
||||||
|
val patchExpirationPref = preferenceFragment.findPreference<SwitchPreference>(rh.gs(R.string.key_patch_expiration))
|
||||||
|
val pumpWarningNotificationPref = preferenceFragment.findPreference<SwitchPreference>(rh.gs(R.string.key_pump_warning_notification))
|
||||||
|
val pumpWarningExpiryHourPref = preferenceFragment.findPreference<ValidatingEditTextPreference>(rh.gs(R.string.key_pump_warning_expiry_hour))
|
||||||
|
|
||||||
|
pumpWarningExpiryHourPref?.isEnabled = patchExpirationPref?.isChecked == true && pumpWarningNotificationPref?.isChecked == true
|
||||||
|
}
|
||||||
|
|
||||||
override fun isInitialized(): Boolean {
|
override fun isInitialized(): Boolean {
|
||||||
return medtrumPump.pumpState > MedtrumPumpState.EJECTED && medtrumPump.pumpState < MedtrumPumpState.STOPPED
|
return medtrumPump.pumpState > MedtrumPumpState.EJECTED && medtrumPump.pumpState < MedtrumPumpState.STOPPED
|
||||||
}
|
}
|
||||||
|
|
|
@ -288,6 +288,8 @@ class MedtrumPump @Inject constructor(
|
||||||
var desiredAlarmSetting = AlarmSetting.LIGHT_VIBRATE_AND_BEEP
|
var desiredAlarmSetting = AlarmSetting.LIGHT_VIBRATE_AND_BEEP
|
||||||
var desiredHourlyMaxInsulin: Int = 40
|
var desiredHourlyMaxInsulin: Int = 40
|
||||||
var desiredDailyMaxInsulin: Int = 180
|
var desiredDailyMaxInsulin: Int = 180
|
||||||
|
var desiredPumpWarning = true
|
||||||
|
var desiredPumpWarningExpiryThresholdHours = 72L
|
||||||
|
|
||||||
fun pumpType(): PumpType = pumpType(deviceType)
|
fun pumpType(): PumpType = pumpType(deviceType)
|
||||||
|
|
||||||
|
@ -333,6 +335,8 @@ class MedtrumPump @Inject constructor(
|
||||||
desiredAlarmSetting = AlarmSetting.values().firstOrNull { it.code == alarmSettingCode } ?: AlarmSetting.LIGHT_VIBRATE_AND_BEEP
|
desiredAlarmSetting = AlarmSetting.values().firstOrNull { it.code == alarmSettingCode } ?: AlarmSetting.LIGHT_VIBRATE_AND_BEEP
|
||||||
desiredHourlyMaxInsulin = sp.getInt(R.string.key_hourly_max_insulin, 40)
|
desiredHourlyMaxInsulin = sp.getInt(R.string.key_hourly_max_insulin, 40)
|
||||||
desiredDailyMaxInsulin = sp.getInt(R.string.key_daily_max_insulin, 180)
|
desiredDailyMaxInsulin = sp.getInt(R.string.key_daily_max_insulin, 180)
|
||||||
|
desiredPumpWarning = sp.getBoolean(R.string.key_pump_warning_notification, true)
|
||||||
|
desiredPumpWarningExpiryThresholdHours = sp.getLong(R.string.key_pump_warning_expiry_hour, 72L)
|
||||||
_pumpSN = pumpSNFromSP
|
_pumpSN = pumpSNFromSP
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,6 +101,8 @@ class MedtrumService : DaggerService(), BLECommCallback {
|
||||||
private const val COMMAND_CONNECTING_TIMEOUT_SEC: Long = 30
|
private const val COMMAND_CONNECTING_TIMEOUT_SEC: Long = 30
|
||||||
private const val ALARM_HOURLY_MAX_CLEAR_CODE = 4
|
private const val ALARM_HOURLY_MAX_CLEAR_CODE = 4
|
||||||
private const val ALARM_DAILY_MAX_CLEAR_CODE = 5
|
private const val ALARM_DAILY_MAX_CLEAR_CODE = 5
|
||||||
|
|
||||||
|
private const val CHECK_EXPIRY_WARNING_TIME_MS = 5 * 60 * 1000L
|
||||||
}
|
}
|
||||||
|
|
||||||
private val disposable = CompositeDisposable()
|
private val disposable = CompositeDisposable()
|
||||||
|
@ -135,6 +137,11 @@ class MedtrumService : DaggerService(), BLECommCallback {
|
||||||
pumpSync.connectNewPump()
|
pumpSync.connectNewPump()
|
||||||
medtrumPump.setFakeTBRIfNotSet()
|
medtrumPump.setFakeTBRIfNotSet()
|
||||||
}
|
}
|
||||||
|
if (event.isChanged(rh.gs(R.string.key_pump_warning_notification))
|
||||||
|
|| event.isChanged(rh.gs(R.string.key_pump_warning_expiry_hour))
|
||||||
|
) {
|
||||||
|
medtrumPump.loadUserSettingsFromSP()
|
||||||
|
}
|
||||||
if (event.isChanged(rh.gs(R.string.key_alarm_setting))
|
if (event.isChanged(rh.gs(R.string.key_alarm_setting))
|
||||||
|| event.isChanged(rh.gs(R.string.key_patch_expiration))
|
|| event.isChanged(rh.gs(R.string.key_patch_expiration))
|
||||||
|| event.isChanged(rh.gs(R.string.key_hourly_max_insulin))
|
|| event.isChanged(rh.gs(R.string.key_hourly_max_insulin))
|
||||||
|
@ -169,6 +176,12 @@ class MedtrumService : DaggerService(), BLECommCallback {
|
||||||
notifyPumpWarning(pumpWarning)
|
notifyPumpWarning(pumpWarning)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
scope.launch {
|
||||||
|
while (true) {
|
||||||
|
checkExpiryWarning()
|
||||||
|
kotlinx.coroutines.delay(CHECK_EXPIRY_WARNING_TIME_MS)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
|
@ -700,7 +713,7 @@ class MedtrumService : DaggerService(), BLECommCallback {
|
||||||
|
|
||||||
private fun notifyPumpWarning(alarmState: AlarmState) {
|
private fun notifyPumpWarning(alarmState: AlarmState) {
|
||||||
// Notification on pump warning
|
// Notification on pump warning
|
||||||
if (sp.getBoolean(R.string.key_pump_warning_notification, true) && alarmState != AlarmState.NONE) {
|
if (medtrumPump.desiredPumpWarning && alarmState != AlarmState.NONE) {
|
||||||
uiInteraction.addNotification(
|
uiInteraction.addNotification(
|
||||||
Notification.PUMP_WARNING,
|
Notification.PUMP_WARNING,
|
||||||
rh.gs(R.string.pump_warning, medtrumPump.alarmStateToString(alarmState)),
|
rh.gs(R.string.pump_warning, medtrumPump.alarmStateToString(alarmState)),
|
||||||
|
@ -715,6 +728,25 @@ class MedtrumService : DaggerService(), BLECommCallback {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun checkExpiryWarning() {
|
||||||
|
if (medtrumPump.desiredPatchExpiration && medtrumPump.desiredPumpWarning) {
|
||||||
|
val warningAt = medtrumPump.patchStartTime + T.hours(medtrumPump.desiredPumpWarningExpiryThresholdHours).msecs()
|
||||||
|
if (dateUtil.now() >= warningAt && dateUtil.now() <= warningAt + CHECK_EXPIRY_WARNING_TIME_MS) {
|
||||||
|
uiInteraction.addNotification(
|
||||||
|
Notification.PUMP_WARNING,
|
||||||
|
rh.gs(R.string.alarm_pump_expires_soon),
|
||||||
|
Notification.ANNOUNCEMENT,
|
||||||
|
)
|
||||||
|
pumpSync.insertAnnouncement(
|
||||||
|
rh.gs(R.string.alarm_pump_expires_soon),
|
||||||
|
null,
|
||||||
|
medtrumPump.pumpType(),
|
||||||
|
medtrumPump.pumpSN.toString(radix = 16)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** BLECommCallbacks */
|
/** BLECommCallbacks */
|
||||||
override fun onBLEConnected() {
|
override fun onBLEConnected() {
|
||||||
aapsLogger.debug(LTag.PUMPCOMM, "<<<<< onBLEConnected")
|
aapsLogger.debug(LTag.PUMPCOMM, "<<<<< onBLEConnected")
|
||||||
|
|
|
@ -105,9 +105,7 @@
|
||||||
<string name="alarm_setting_summary">Изберете предпочитани настройки за аларми на помпата.</string>
|
<string name="alarm_setting_summary">Изберете предпочитани настройки за аларми на помпата.</string>
|
||||||
<string name="patch_expiration_title">Срок на пач помпата</string>
|
<string name="patch_expiration_title">Срок на пач помпата</string>
|
||||||
<string name="patch_expiration_summary">След активация, пач помпата има срок от 3 дни с допълнителен период от 8 часа след това.</string>
|
<string name="patch_expiration_summary">След активация, пач помпата има срок от 3 дни с допълнителен период от 8 часа след това.</string>
|
||||||
<string name="hourly_max_insulin_title">Максимално количество инсулин за час</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Посочете максималните единици инсулин за час. Ако бъдат превишени, помпата ще бъде изключена.</string>
|
<string name="hourly_max_insulin_summary">Посочете максималните единици инсулин за час. Ако бъдат превишени, помпата ще бъде изключена.</string>
|
||||||
<string name="daily_max_insulin_title">Максимално количество инсулин за ден</string>
|
|
||||||
<string name="daily_max_insulin_summary">Посочете максималните единици инсулин за ден. Ако бъдат превишени, помпата ще бъде изключена.</string>
|
<string name="daily_max_insulin_summary">Посочете максималните единици инсулин за ден. Ако бъдат превишени, помпата ще бъде изключена.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Получава статус на помпата</string>
|
<string name="getting_pump_status">Получава статус на помпата</string>
|
||||||
|
|
|
@ -112,11 +112,13 @@
|
||||||
<string name="alarm_setting_summary">Vyberte preferované nastavení alarmů.</string>
|
<string name="alarm_setting_summary">Vyberte preferované nastavení alarmů.</string>
|
||||||
<string name="pump_warning_notification_title">Oznámení o varování pumpy</string>
|
<string name="pump_warning_notification_title">Oznámení o varování pumpy</string>
|
||||||
<string name="pump_warning_notification_summary">Zobrazit upozornění na nekritická varování pumpy: vybitá baterie, téměř prázdný zásobník (20 jednotek) a brzy dojde inzulin. Doporučeno ponechat zapnuté, když jsou výstrahy pumpy nastaveny na ticho.</string>
|
<string name="pump_warning_notification_summary">Zobrazit upozornění na nekritická varování pumpy: vybitá baterie, téměř prázdný zásobník (20 jednotek) a brzy dojde inzulin. Doporučeno ponechat zapnuté, když jsou výstrahy pumpy nastaveny na ticho.</string>
|
||||||
|
<string name="pump_warning_expiry_hour_title">Varování před vypršením platnosti pumpy [hodiny]</string>
|
||||||
|
<string name="pump_warning_expiry_hour_summary">Zobrazit upozornění v určené hodině po aktivaci.</string>
|
||||||
<string name="patch_expiration_title">Vypršení platnosti Patche</string>
|
<string name="patch_expiration_title">Vypršení platnosti Patche</string>
|
||||||
<string name="patch_expiration_summary">Pokud je povoleno, Patch vyprší po 3 dnech s maximální dobou odkladu 8 hodin.</string>
|
<string name="patch_expiration_summary">Pokud je povoleno, Patch vyprší po 3 dnech s maximální dobou odkladu 8 hodin.</string>
|
||||||
<string name="hourly_max_insulin_title">Hodinové maximum inzulínu</string>
|
<string name="hourly_max_insulin_title">Hodinové maximum inzulínu [U]</string>
|
||||||
<string name="hourly_max_insulin_summary">Zadejte maximální povolený počet jednotek inzulínu za hodinu. Pokud je překročeno, pumpa bude pozastavena.</string>
|
<string name="hourly_max_insulin_summary">Zadejte maximální povolený počet jednotek inzulínu za hodinu. Pokud je překročeno, pumpa bude pozastavena.</string>
|
||||||
<string name="daily_max_insulin_title">Denní maximální inzulín</string>
|
<string name="daily_max_insulin_title">Denní maximum inzulínu [U]</string>
|
||||||
<string name="daily_max_insulin_summary">Zadejte maximální povolené množství inzulínu za den. Pokud je překročeno, pumpa bude pozastavena.</string>
|
<string name="daily_max_insulin_summary">Zadejte maximální povolené množství inzulínu za den. Pokud je překročeno, pumpa bude pozastavena.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Nahrávám stav pumpy</string>
|
<string name="getting_pump_status">Nahrávám stav pumpy</string>
|
||||||
|
|
|
@ -107,9 +107,7 @@
|
||||||
<string name="alarm_setting_summary">Vælg dine fortrukne pumpealarmindstillinger.</string>
|
<string name="alarm_setting_summary">Vælg dine fortrukne pumpealarmindstillinger.</string>
|
||||||
<string name="patch_expiration_title">Patch Udløber</string>
|
<string name="patch_expiration_title">Patch Udløber</string>
|
||||||
<string name="patch_expiration_summary">Efter aktivering udløber patchen efter 3 dage med en nådeperiode på 8 timer herefter.</string>
|
<string name="patch_expiration_summary">Efter aktivering udløber patchen efter 3 dage med en nådeperiode på 8 timer herefter.</string>
|
||||||
<string name="hourly_max_insulin_title">Maksimal Insulin pr. Time</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Specificér det maksimale tilladte antal enheder insulin per time. Hvis denne overskrides, pauseres pumpen.</string>
|
<string name="hourly_max_insulin_summary">Specificér det maksimale tilladte antal enheder insulin per time. Hvis denne overskrides, pauseres pumpen.</string>
|
||||||
<string name="daily_max_insulin_title">Maksimal Insulin pr. Dag</string>
|
|
||||||
<string name="daily_max_insulin_summary">Specificér det maksimale tilladte antal enheder insulin per Dag. Hvis denne overskrides, pauseres pumpen.</string>
|
<string name="daily_max_insulin_summary">Specificér det maksimale tilladte antal enheder insulin per Dag. Hvis denne overskrides, pauseres pumpen.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Henter pumpestatus</string>
|
<string name="getting_pump_status">Henter pumpestatus</string>
|
||||||
|
|
|
@ -105,9 +105,7 @@
|
||||||
<string name="alarm_setting_summary">Wählen Sie Ihre bevorzugten Pumpen-Alarmeinstellungen.</string>
|
<string name="alarm_setting_summary">Wählen Sie Ihre bevorzugten Pumpen-Alarmeinstellungen.</string>
|
||||||
<string name="patch_expiration_title">Patch Ablaufdatum</string>
|
<string name="patch_expiration_title">Patch Ablaufdatum</string>
|
||||||
<string name="patch_expiration_summary">Wenn aktiviert, läuft der Patch nach 3 Tagen ab, mit einer Nachfrist von 8 Stunden danach.</string>
|
<string name="patch_expiration_summary">Wenn aktiviert, läuft der Patch nach 3 Tagen ab, mit einer Nachfrist von 8 Stunden danach.</string>
|
||||||
<string name="hourly_max_insulin_title">Stündliches Maximum Insulin</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Lege die maximale Anzahl an Insulineinheiten pro Stunde fest. Bei Überschreitung wird die Pumpe ausgesetzt.</string>
|
<string name="hourly_max_insulin_summary">Lege die maximale Anzahl an Insulineinheiten pro Stunde fest. Bei Überschreitung wird die Pumpe ausgesetzt.</string>
|
||||||
<string name="daily_max_insulin_title">Tägliches Maximum Insulin</string>
|
|
||||||
<string name="daily_max_insulin_summary">Legen Sie die maximale Anzahl an Insulineinheiten pro Tag fest. Bei Überschreitung wird die Pumpe ausgesetzt.</string>
|
<string name="daily_max_insulin_summary">Legen Sie die maximale Anzahl an Insulineinheiten pro Tag fest. Bei Überschreitung wird die Pumpe ausgesetzt.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Pumpenstatus wird abgerufen</string>
|
<string name="getting_pump_status">Pumpenstatus wird abgerufen</string>
|
||||||
|
|
|
@ -107,9 +107,7 @@
|
||||||
<string name="alarm_setting_summary">Επιλέξτε τις προτιμώμενες ρυθμίσεις συναγερμού της αντλίας σας.</string>
|
<string name="alarm_setting_summary">Επιλέξτε τις προτιμώμενες ρυθμίσεις συναγερμού της αντλίας σας.</string>
|
||||||
<string name="patch_expiration_title">Λήξη Patch</string>
|
<string name="patch_expiration_title">Λήξη Patch</string>
|
||||||
<string name="patch_expiration_summary">Όταν ενεργοποιηθεί, το patch θα λήξει μετά από 3 ημέρες, με περίοδο χάριτος 8 ώρες μετά από αυτό.</string>
|
<string name="patch_expiration_summary">Όταν ενεργοποιηθεί, το patch θα λήξει μετά από 3 ημέρες, με περίοδο χάριτος 8 ώρες μετά από αυτό.</string>
|
||||||
<string name="hourly_max_insulin_title">Μέγιστη Ωριαία Ινσουλίνη</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Καθορίστε τις μέγιστες μονάδες ινσουλίνης που επιτρέπονται ανά ώρα. Αν ξεπεραστείη ποσότητα αυτή, η αντλία θα αναστείλει.</string>
|
<string name="hourly_max_insulin_summary">Καθορίστε τις μέγιστες μονάδες ινσουλίνης που επιτρέπονται ανά ώρα. Αν ξεπεραστείη ποσότητα αυτή, η αντλία θα αναστείλει.</string>
|
||||||
<string name="daily_max_insulin_title">Ημερήσια Μέγιστη Ινσουλίνη</string>
|
|
||||||
<string name="daily_max_insulin_summary">Καθορίστε τις μέγιστες μονάδες ινσουλίνης που επιτρέπονται ανά ημέρα. Αν ξεπεραστεί η ποσότητα αυτή, η αντλία θα αναστείλει.</string>
|
<string name="daily_max_insulin_summary">Καθορίστε τις μέγιστες μονάδες ινσουλίνης που επιτρέπονται ανά ημέρα. Αν ξεπεραστεί η ποσότητα αυτή, η αντλία θα αναστείλει.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Φόρτωση κατάστασης αντλίας</string>
|
<string name="getting_pump_status">Φόρτωση κατάστασης αντλίας</string>
|
||||||
|
|
|
@ -112,11 +112,13 @@
|
||||||
<string name="alarm_setting_summary">Selecciona los ajustes de la alarma de la bomba que prefieras.</string>
|
<string name="alarm_setting_summary">Selecciona los ajustes de la alarma de la bomba que prefieras.</string>
|
||||||
<string name="pump_warning_notification_title">Notificación sobre advertencia de la bomba</string>
|
<string name="pump_warning_notification_title">Notificación sobre advertencia de la bomba</string>
|
||||||
<string name="pump_warning_notification_summary">Mostrar notificación en advertencias de la bomba no críticas: batería baja, reserva baja (20 unidades) y próxima a caducar. Se recomienda dejarlo habilitado cuando las alarmas de la bomba estén configuradas en silencio.</string>
|
<string name="pump_warning_notification_summary">Mostrar notificación en advertencias de la bomba no críticas: batería baja, reserva baja (20 unidades) y próxima a caducar. Se recomienda dejarlo habilitado cuando las alarmas de la bomba estén configuradas en silencio.</string>
|
||||||
|
<string name="pump_warning_expiry_hour_title">Aviso de expiración de la bomba [hours]</string>
|
||||||
|
<string name="pump_warning_expiry_hour_summary">Mostrar notificación a la hora especificada tras la activación.</string>
|
||||||
<string name="patch_expiration_title">Caducidad del parche</string>
|
<string name="patch_expiration_title">Caducidad del parche</string>
|
||||||
<string name="patch_expiration_summary">Cuando está activado, el parche caducará a los 3 días, con un periodo de gracia de 8 horas adicionales</string>
|
<string name="patch_expiration_summary">Cuando está activado, el parche caducará a los 3 días, con un periodo de gracia de 8 horas adicionales</string>
|
||||||
<string name="hourly_max_insulin_title">Insulina máxima por hora</string>
|
<string name="hourly_max_insulin_title">Insulina máxima por hora [Units]</string>
|
||||||
<string name="hourly_max_insulin_summary">Especificar las unidades máximas de insulina permitidas por hora. Si se supera, la bomba se suspenderá.</string>
|
<string name="hourly_max_insulin_summary">Especificar las unidades máximas de insulina permitidas por hora. Si se supera, la bomba se suspenderá.</string>
|
||||||
<string name="daily_max_insulin_title">Insulina máxima diaria</string>
|
<string name="daily_max_insulin_title">Insulina máxima diaria [Units]</string>
|
||||||
<string name="daily_max_insulin_summary">Especificar las unidades máximas de insulina permitidas por día. Si se superan, la bomba se suspenderá.</string>
|
<string name="daily_max_insulin_summary">Especificar las unidades máximas de insulina permitidas por día. Si se superan, la bomba se suspenderá.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Obteniendo el estado de la bomba</string>
|
<string name="getting_pump_status">Obteniendo el estado de la bomba</string>
|
||||||
|
|
|
@ -114,9 +114,7 @@
|
||||||
<string name="pump_warning_notification_summary">Afficher une notification sur les avertissements non critiques de la pompe : pile faible, réservoir faible (20 unités) et expire bientôt. Il est recommandé de laisser activé lorsque les alarmes de la pompe sont réglées sur silencieux.</string>
|
<string name="pump_warning_notification_summary">Afficher une notification sur les avertissements non critiques de la pompe : pile faible, réservoir faible (20 unités) et expire bientôt. Il est recommandé de laisser activé lorsque les alarmes de la pompe sont réglées sur silencieux.</string>
|
||||||
<string name="patch_expiration_title">Expiration du Patch</string>
|
<string name="patch_expiration_title">Expiration du Patch</string>
|
||||||
<string name="patch_expiration_summary">Lorsqu\'il est activé, le Patch expirera après 3 jours, avec un délai de grâce de 8 heures au-delà.</string>
|
<string name="patch_expiration_summary">Lorsqu\'il est activé, le Patch expirera après 3 jours, avec un délai de grâce de 8 heures au-delà.</string>
|
||||||
<string name="hourly_max_insulin_title">Insuline maximale horaire</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Spécifiez le nombre maximum d\'unités d\'insuline autorisées par heure. Si ce montant est dépassé, la pompe sera suspendue.</string>
|
<string name="hourly_max_insulin_summary">Spécifiez le nombre maximum d\'unités d\'insuline autorisées par heure. Si ce montant est dépassé, la pompe sera suspendue.</string>
|
||||||
<string name="daily_max_insulin_title">Insuline maximale quotidienne</string>
|
|
||||||
<string name="daily_max_insulin_summary">Spécifiez le nombre maximum d\'unités d\'insuline autorisées par jour. Si ce montant est dépassé, la pompe sera suspendue.</string>
|
<string name="daily_max_insulin_summary">Spécifiez le nombre maximum d\'unités d\'insuline autorisées par jour. Si ce montant est dépassé, la pompe sera suspendue.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Mise à jour de l\'état pompe</string>
|
<string name="getting_pump_status">Mise à jour de l\'état pompe</string>
|
||||||
|
|
|
@ -105,9 +105,7 @@
|
||||||
<string name="alarm_setting_summary">Seleziona le tue impostazioni di allarme del micro preferite.</string>
|
<string name="alarm_setting_summary">Seleziona le tue impostazioni di allarme del micro preferite.</string>
|
||||||
<string name="patch_expiration_title">Scadenza patch</string>
|
<string name="patch_expiration_title">Scadenza patch</string>
|
||||||
<string name="patch_expiration_summary">Una volta abilitata, la patch scadrà dopo 3 giorni, con un periodo di grazia di 8 ore.</string>
|
<string name="patch_expiration_summary">Una volta abilitata, la patch scadrà dopo 3 giorni, con un periodo di grazia di 8 ore.</string>
|
||||||
<string name="hourly_max_insulin_title">Insulina massima oraria</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Specificare le unità massime di insulina consentite per ora. Se superate, il micro sarà sospeso.</string>
|
<string name="hourly_max_insulin_summary">Specificare le unità massime di insulina consentite per ora. Se superate, il micro sarà sospeso.</string>
|
||||||
<string name="daily_max_insulin_title">Insulina massima giornaliera</string>
|
|
||||||
<string name="daily_max_insulin_summary">Specificare le unità massime di insulina consentite per giorno. Se superate, il micro sarà sospeso.</string>
|
<string name="daily_max_insulin_summary">Specificare le unità massime di insulina consentite per giorno. Se superate, il micro sarà sospeso.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Ricezione stato micro</string>
|
<string name="getting_pump_status">Ricezione stato micro</string>
|
||||||
|
|
|
@ -106,9 +106,7 @@
|
||||||
<string name="alarm_setting_summary">선호하는 펌프 알람 설정을 선택하세요.</string>
|
<string name="alarm_setting_summary">선호하는 펌프 알람 설정을 선택하세요.</string>
|
||||||
<string name="patch_expiration_title">Patch 만료</string>
|
<string name="patch_expiration_title">Patch 만료</string>
|
||||||
<string name="patch_expiration_summary">활성화되면, patch는 3일 후에 만료되며, 이후 8시간의 유예 기간이 적용됩니다.</string>
|
<string name="patch_expiration_summary">활성화되면, patch는 3일 후에 만료되며, 이후 8시간의 유예 기간이 적용됩니다.</string>
|
||||||
<string name="hourly_max_insulin_title">시간당 최대 인슐린</string>
|
|
||||||
<string name="hourly_max_insulin_summary">시간당 허용되는 인슐린 최대 unit을 정합니다. 이를 초과하면, 펌프는 중지됩니다.</string>
|
<string name="hourly_max_insulin_summary">시간당 허용되는 인슐린 최대 unit을 정합니다. 이를 초과하면, 펌프는 중지됩니다.</string>
|
||||||
<string name="daily_max_insulin_title">일일 최대 인슐린</string>
|
|
||||||
<string name="daily_max_insulin_summary">하루에 허용되는 인슐린 최대 unit을 정합니다. 이를 초과하면, 펌프는 중지됩니다.</string>
|
<string name="daily_max_insulin_summary">하루에 허용되는 인슐린 최대 unit을 정합니다. 이를 초과하면, 펌프는 중지됩니다.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">펌프 상태 가져오기</string>
|
<string name="getting_pump_status">펌프 상태 가져오기</string>
|
||||||
|
|
|
@ -108,9 +108,7 @@
|
||||||
<string name="alarm_setting_summary">Pasirinkite pompos aliarmų nustatymus</string>
|
<string name="alarm_setting_summary">Pasirinkite pompos aliarmų nustatymus</string>
|
||||||
<string name="patch_expiration_title">Rezervuaras išsijungs</string>
|
<string name="patch_expiration_title">Rezervuaras išsijungs</string>
|
||||||
<string name="patch_expiration_summary">Įgalinus, rezervuaras išsijungs po 3 parų ir 8 val.</string>
|
<string name="patch_expiration_summary">Įgalinus, rezervuaras išsijungs po 3 parų ir 8 val.</string>
|
||||||
<string name="hourly_max_insulin_title">Valandos insulino limitas</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Nustatykite maksimalų insulino kiekį valandai. Jį viršijus pompa bus sustabdyta.</string>
|
<string name="hourly_max_insulin_summary">Nustatykite maksimalų insulino kiekį valandai. Jį viršijus pompa bus sustabdyta.</string>
|
||||||
<string name="daily_max_insulin_title">Paros insulino limitas</string>
|
|
||||||
<string name="daily_max_insulin_summary">Nustatykite maksimalų insulino kiekį parai. Jį viršijus pompa bus sustabdyta.</string>
|
<string name="daily_max_insulin_summary">Nustatykite maksimalų insulino kiekį parai. Jį viršijus pompa bus sustabdyta.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Gaunamas pompos statusas</string>
|
<string name="getting_pump_status">Gaunamas pompos statusas</string>
|
||||||
|
|
|
@ -112,11 +112,13 @@
|
||||||
<string name="alarm_setting_summary">Velg dine foretrukne alarminnstillinger.</string>
|
<string name="alarm_setting_summary">Velg dine foretrukne alarminnstillinger.</string>
|
||||||
<string name="pump_warning_notification_title">Varsel om pumpeadvarsel</string>
|
<string name="pump_warning_notification_title">Varsel om pumpeadvarsel</string>
|
||||||
<string name="pump_warning_notification_summary">Vis varsel om ikke-kritisk pumpeadvarsel: lavt batteri, lavt reservoar (20 enheter) og utløper snart. Anbefales og la være aktivert når pumpealarmer er satt til stillemodus.</string>
|
<string name="pump_warning_notification_summary">Vis varsel om ikke-kritisk pumpeadvarsel: lavt batteri, lavt reservoar (20 enheter) og utløper snart. Anbefales og la være aktivert når pumpealarmer er satt til stillemodus.</string>
|
||||||
|
<string name="pump_warning_expiry_hour_title">Utløpsvarsel om pumpe</string>
|
||||||
|
<string name="pump_warning_expiry_hour_summary">Vis varsel på angitt time etter aktivering.</string>
|
||||||
<string name="patch_expiration_title">Patch utløpsdato</string>
|
<string name="patch_expiration_title">Patch utløpsdato</string>
|
||||||
<string name="patch_expiration_summary">Når aktivert vil plasteret utløpe etter 3 dager, med en nådeperiode på 8 timer etter det.</string>
|
<string name="patch_expiration_summary">Når aktivert vil plasteret utløpe etter 3 dager, med en nådeperiode på 8 timer etter det.</string>
|
||||||
<string name="hourly_max_insulin_title">Maksimal insulin per time</string>
|
<string name="hourly_max_insulin_title">Maks insulin per time [Enheter]</string>
|
||||||
<string name="hourly_max_insulin_summary">Angi maksimalt antall enheter insulin tillatt per time. Hvis overskredet vil pumpen suspendere.</string>
|
<string name="hourly_max_insulin_summary">Angi maksimalt antall enheter insulin tillatt per time. Hvis overskredet vil pumpen suspendere.</string>
|
||||||
<string name="daily_max_insulin_title">Maksimal insulin per dag</string>
|
<string name="daily_max_insulin_title">Maks insulin per dag [Enheter]</string>
|
||||||
<string name="daily_max_insulin_summary">Angi maksimalt antall enheter insulin tillatt per dag. Hvis overskredet vil pumpen suspendere.</string>
|
<string name="daily_max_insulin_summary">Angi maksimalt antall enheter insulin tillatt per dag. Hvis overskredet vil pumpen suspendere.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Henter pumpestatus</string>
|
<string name="getting_pump_status">Henter pumpestatus</string>
|
||||||
|
|
|
@ -112,11 +112,13 @@
|
||||||
<string name="alarm_setting_summary">Selecteer uw gewenste alarminstellingen voor de pomp.</string>
|
<string name="alarm_setting_summary">Selecteer uw gewenste alarminstellingen voor de pomp.</string>
|
||||||
<string name="pump_warning_notification_title">Notificatie bij pomp waarschuwing</string>
|
<string name="pump_warning_notification_title">Notificatie bij pomp waarschuwing</string>
|
||||||
<string name="pump_warning_notification_summary">Melding weergeven op niet-kritische pompwaarschuwingen: batterij bijna leeg, reservoir bijna leeg (20 eenheden) en vervalt bijna. Aanbevolen om ingeschakeld te laten wanneer pomp alarmen op stil zijn ingesteld.</string>
|
<string name="pump_warning_notification_summary">Melding weergeven op niet-kritische pompwaarschuwingen: batterij bijna leeg, reservoir bijna leeg (20 eenheden) en vervalt bijna. Aanbevolen om ingeschakeld te laten wanneer pomp alarmen op stil zijn ingesteld.</string>
|
||||||
|
<string name="pump_warning_expiry_hour_title">Waarschuwing vervallen pomp [uren]</string>
|
||||||
|
<string name="pump_warning_expiry_hour_summary">Melding weergeven op opgegeven uur na activering.</string>
|
||||||
<string name="patch_expiration_title">Patch vervalt</string>
|
<string name="patch_expiration_title">Patch vervalt</string>
|
||||||
<string name="patch_expiration_summary">Wanneer ingeschakeld, zal de patch na 3 dagen verlopen met een extra periode van 8 uur coulance.</string>
|
<string name="patch_expiration_summary">Wanneer ingeschakeld, zal de patch na 3 dagen verlopen met een extra periode van 8 uur coulance.</string>
|
||||||
<string name="hourly_max_insulin_title">Maximale insuline per uur</string>
|
<string name="hourly_max_insulin_title">Maximale insuline per uur [Eenheden]</string>
|
||||||
<string name="hourly_max_insulin_summary">Geef de maximale hoeveelheid insuline per uur op. Indien overschreden zal de pomp de insuline toediening onderbreken.</string>
|
<string name="hourly_max_insulin_summary">Geef de maximale hoeveelheid insuline per uur op. Indien overschreden zal de pomp de insuline toediening onderbreken.</string>
|
||||||
<string name="daily_max_insulin_title">Maximale insuline per dag</string>
|
<string name="daily_max_insulin_title">Maximale insuline per dag [Eenheden]</string>
|
||||||
<string name="daily_max_insulin_summary">Geef de maximale hoeveelheid insuline per dag op. Indien overschreden zal de pomp de insuline toediening onderbreken.</string>
|
<string name="daily_max_insulin_summary">Geef de maximale hoeveelheid insuline per dag op. Indien overschreden zal de pomp de insuline toediening onderbreken.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Pompstatus aan het ophalen</string>
|
<string name="getting_pump_status">Pompstatus aan het ophalen</string>
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
<string name="alarm_battery_out">Rozładowana bateria</string>
|
<string name="alarm_battery_out">Rozładowana bateria</string>
|
||||||
<string name="alarm_no_calibration">Brak kalibracji</string>
|
<string name="alarm_no_calibration">Brak kalibracji</string>
|
||||||
<string name="pump_time_update_failed">Nie udało się zaktualizować strefy czasowej pompy, wycisz to powiadomienie i zaktualizuj ręcznie.</string>
|
<string name="pump_time_update_failed">Nie udało się zaktualizować strefy czasowej pompy, wycisz to powiadomienie i zaktualizuj ręcznie.</string>
|
||||||
|
<string name="bolus_error">Błąd bolusa</string>
|
||||||
<!-- wizard-->
|
<!-- wizard-->
|
||||||
<string name="retry">Spróbuj ponownie</string>
|
<string name="retry">Spróbuj ponownie</string>
|
||||||
<string name="next">Dalej</string>
|
<string name="next">Dalej</string>
|
||||||
|
@ -101,6 +102,8 @@
|
||||||
<string name="press_retry_or_discard">Naciśnij <b>Dalej</b> aby wznowić aktywację lub <b>Odrzuć</b> aby zresetować stan aktywacji.</string>
|
<string name="press_retry_or_discard">Naciśnij <b>Dalej</b> aby wznowić aktywację lub <b>Odrzuć</b> aby zresetować stan aktywacji.</string>
|
||||||
<string name="reading_activation_status">Proszę czekać, odczytywanie stanu aktywacji z pompy.</string>
|
<string name="reading_activation_status">Proszę czekać, odczytywanie stanu aktywacji z pompy.</string>
|
||||||
<!-- settings-->
|
<!-- settings-->
|
||||||
|
<string name="enable_pump_unreachable_alert_summary">Wymuszono włączenie alarmu nieosiągalności, ponieważ Patch Medtrum może przestać działać i być nieosiągalny.</string>
|
||||||
|
<string name="pump_unreachable_threshold_minutes_summary">Zaleca się ustawić na 30 minut, ponieważ Patch Medtrum może przestać działać i być nieosiągalny.</string>
|
||||||
<string name="sn_input_title">Numer seryjny</string>
|
<string name="sn_input_title">Numer seryjny</string>
|
||||||
<string name="sn_input_summary">Wprowadź numer seryjny bazy pompy.</string>
|
<string name="sn_input_summary">Wprowadź numer seryjny bazy pompy.</string>
|
||||||
<string name="sn_input_invalid">Nieprawidłowy numer seryjny!</string>
|
<string name="sn_input_invalid">Nieprawidłowy numer seryjny!</string>
|
||||||
|
@ -109,11 +112,13 @@
|
||||||
<string name="alarm_setting_summary">Wybierz preferowaną konfigurację alarmu pompy.</string>
|
<string name="alarm_setting_summary">Wybierz preferowaną konfigurację alarmu pompy.</string>
|
||||||
<string name="pump_warning_notification_title">Powiadomienie o ostrzeżeniu pompy</string>
|
<string name="pump_warning_notification_title">Powiadomienie o ostrzeżeniu pompy</string>
|
||||||
<string name="pump_warning_notification_summary">Pokaż powiadomienia o niekrytycznych ostrzeżeniach pompy takich jak: niski poziom baterii, niski poziom zbiornika (20 jednostek) i wkrótce wygasa. Zalecane zostawianie włączonych powiadomień, gdy alarmy pompy są wyciszone.</string>
|
<string name="pump_warning_notification_summary">Pokaż powiadomienia o niekrytycznych ostrzeżeniach pompy takich jak: niski poziom baterii, niski poziom zbiornika (20 jednostek) i wkrótce wygasa. Zalecane zostawianie włączonych powiadomień, gdy alarmy pompy są wyciszone.</string>
|
||||||
|
<string name="pump_warning_expiry_hour_title">Ostrzeżenie o upływie terminu ważności pompy [godziny]</string>
|
||||||
|
<string name="pump_warning_expiry_hour_summary">Pokaż powiadomienie w określonej godzinie po aktywacji.</string>
|
||||||
<string name="patch_expiration_title">Wygaśnięcie Patcha</string>
|
<string name="patch_expiration_title">Wygaśnięcie Patcha</string>
|
||||||
<string name="patch_expiration_summary">Po uruchomieniu Patch wygaśnie po 3 dniach, z dodatkowym 8 godzinowym okresem karencji.</string>
|
<string name="patch_expiration_summary">Po uruchomieniu Patch wygaśnie po 3 dniach, z dodatkowym 8 godzinowym okresem karencji.</string>
|
||||||
<string name="hourly_max_insulin_title">Maksymalna Insulina w godzinę</string>
|
<string name="hourly_max_insulin_title">Maksymalna Insulina w godzinę [jednostki]</string>
|
||||||
<string name="hourly_max_insulin_summary">Określ maksymalną dozwoloną ilość jednostek insuliny podanych na godzinę. Po przekroczeniu tego limitu pompa zawiesi podaż insuliny.</string>
|
<string name="hourly_max_insulin_summary">Określ maksymalną dozwoloną ilość jednostek insuliny podanych na godzinę. Po przekroczeniu tego limitu pompa zawiesi podaż insuliny.</string>
|
||||||
<string name="daily_max_insulin_title">Maksymalna Insulina dziennie</string>
|
<string name="daily_max_insulin_title">Maksymalna Insulina dziennie [jednostki]</string>
|
||||||
<string name="daily_max_insulin_summary">Określ maksymalną dozwoloną ilość jednostek insuliny podanych na dzień. Po przekroczeniu tego limitu pompa zawiesi podaż insuliny.</string>
|
<string name="daily_max_insulin_summary">Określ maksymalną dozwoloną ilość jednostek insuliny podanych na dzień. Po przekroczeniu tego limitu pompa zawiesi podaż insuliny.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Uzyskiwanie statusu pompy</string>
|
<string name="getting_pump_status">Uzyskiwanie statusu pompy</string>
|
||||||
|
|
|
@ -114,9 +114,7 @@
|
||||||
<string name="pump_warning_notification_summary">Arată notificare cu privire la avertismentele non-critice ale pompei: baterie scăzută, rezervor redus (20 de unități) și expiră în curând. Se recomandă să lăsaţi activat când alarmele pompei sunt setate la silențios.</string>
|
<string name="pump_warning_notification_summary">Arată notificare cu privire la avertismentele non-critice ale pompei: baterie scăzută, rezervor redus (20 de unități) și expiră în curând. Se recomandă să lăsaţi activat când alarmele pompei sunt setate la silențios.</string>
|
||||||
<string name="patch_expiration_title">Patch Expirare</string>
|
<string name="patch_expiration_title">Patch Expirare</string>
|
||||||
<string name="patch_expiration_summary">Când este activat, patchul va expira după 3 zile, cu o perioadă de graţie de 8 ore după expirare.</string>
|
<string name="patch_expiration_summary">Când este activat, patchul va expira după 3 zile, cu o perioadă de graţie de 8 ore după expirare.</string>
|
||||||
<string name="hourly_max_insulin_title">Insulină maximă pe oră</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Specifică numărul maxim de unități de insulină permise pe oră. Dacă sunt depăşite, pompa se va suspenda.</string>
|
<string name="hourly_max_insulin_summary">Specifică numărul maxim de unități de insulină permise pe oră. Dacă sunt depăşite, pompa se va suspenda.</string>
|
||||||
<string name="daily_max_insulin_title">Insulină maximă zilnică</string>
|
|
||||||
<string name="daily_max_insulin_summary">Specifică numărul maxim de unități de insulină permise pe zi. Dacă sunt depăşite, pompa se va suspenda.</string>
|
<string name="daily_max_insulin_summary">Specifică numărul maxim de unități de insulină permise pe zi. Dacă sunt depăşite, pompa se va suspenda.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Se primește starea pompei</string>
|
<string name="getting_pump_status">Se primește starea pompei</string>
|
||||||
|
|
|
@ -114,9 +114,7 @@
|
||||||
<string name="pump_warning_notification_summary">Показывать уведомления о некритических оповещениях помпы: низком заряде батареи, низком запасе инсулина (20 единиц) и приближающемся истечении срока работы. Рекомендуется оставить включенным, когда звук оповещений выключен.</string>
|
<string name="pump_warning_notification_summary">Показывать уведомления о некритических оповещениях помпы: низком заряде батареи, низком запасе инсулина (20 единиц) и приближающемся истечении срока работы. Рекомендуется оставить включенным, когда звук оповещений выключен.</string>
|
||||||
<string name="patch_expiration_title">Окончание срока действия патча</string>
|
<string name="patch_expiration_title">Окончание срока действия патча</string>
|
||||||
<string name="patch_expiration_summary">Если включено, то патч закончит свое действие через 3 дня, с дополнительными 8 часами после этого.</string>
|
<string name="patch_expiration_summary">Если включено, то патч закончит свое действие через 3 дня, с дополнительными 8 часами после этого.</string>
|
||||||
<string name="hourly_max_insulin_title">Максимальное количество инсулина в час</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Укажите максимальное количество инсулина, допустимое для ввода в течение часа. Если оно будет превышено - помпа будет приостановлена.</string>
|
<string name="hourly_max_insulin_summary">Укажите максимальное количество инсулина, допустимое для ввода в течение часа. Если оно будет превышено - помпа будет приостановлена.</string>
|
||||||
<string name="daily_max_insulin_title">Максимальное количество инсулина в сутки</string>
|
|
||||||
<string name="daily_max_insulin_summary">Укажите максимальное количество инсулина, допустимое для ввода в течение суток. Если оно будет превышено - помпа будет приостановлена.</string>
|
<string name="daily_max_insulin_summary">Укажите максимальное количество инсулина, допустимое для ввода в течение суток. Если оно будет превышено - помпа будет приостановлена.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Получение статуса помпы</string>
|
<string name="getting_pump_status">Получение статуса помпы</string>
|
||||||
|
|
|
@ -114,9 +114,7 @@
|
||||||
<string name="pump_warning_notification_summary">Zobraziť upozornenie na nie kritické varovanie pumpy: vybitá batéria, takmer prázdny zásobník (20 jednotiek) a čoskoro dojde inzulín. Doporučené ponechať zapnuté, keď sú výstrahy pumpy nastavené na ticho.</string>
|
<string name="pump_warning_notification_summary">Zobraziť upozornenie na nie kritické varovanie pumpy: vybitá batéria, takmer prázdny zásobník (20 jednotiek) a čoskoro dojde inzulín. Doporučené ponechať zapnuté, keď sú výstrahy pumpy nastavené na ticho.</string>
|
||||||
<string name="patch_expiration_title">Expirácia Patch</string>
|
<string name="patch_expiration_title">Expirácia Patch</string>
|
||||||
<string name="patch_expiration_summary">Pokiaľ je povolené, Patch expiruje po 3 dňoch s maximálnou dobou odkladu 8 hodín.</string>
|
<string name="patch_expiration_summary">Pokiaľ je povolené, Patch expiruje po 3 dňoch s maximálnou dobou odkladu 8 hodín.</string>
|
||||||
<string name="hourly_max_insulin_title">Hodinové maximum inzulínu</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Zadajte maximálny povolený počet jednotiek inzulínu za hodinu. Pokiaľ budú prekročené, pumpa bude pozastavená.</string>
|
<string name="hourly_max_insulin_summary">Zadajte maximálny povolený počet jednotiek inzulínu za hodinu. Pokiaľ budú prekročené, pumpa bude pozastavená.</string>
|
||||||
<string name="daily_max_insulin_title">Denný maximálny inzulín</string>
|
|
||||||
<string name="daily_max_insulin_summary">Zadajte maximálny povolený počet jednotiek inzulínu za deň. Pokiaľ budú prekročené, pumpa bude pozastavená.</string>
|
<string name="daily_max_insulin_summary">Zadajte maximálny povolený počet jednotiek inzulínu za deň. Pokiaľ budú prekročené, pumpa bude pozastavená.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Načítavam stav pumpy</string>
|
<string name="getting_pump_status">Načítavam stav pumpy</string>
|
||||||
|
|
|
@ -106,9 +106,7 @@
|
||||||
<string name="alarm_setting_summary">Ställ in dina föredragna larminställningar för pumpen.</string>
|
<string name="alarm_setting_summary">Ställ in dina föredragna larminställningar för pumpen.</string>
|
||||||
<string name="patch_expiration_title">Poddens utgångsdatum</string>
|
<string name="patch_expiration_title">Poddens utgångsdatum</string>
|
||||||
<string name="patch_expiration_summary">När den är aktiverad, kommer podden att löpa ut efter 3 dagar, med en tidsfrist på 8 timmar efter det.</string>
|
<string name="patch_expiration_summary">När den är aktiverad, kommer podden att löpa ut efter 3 dagar, med en tidsfrist på 8 timmar efter det.</string>
|
||||||
<string name="hourly_max_insulin_title">Maximalt insulin per timme</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Ange maximalt tillåtna insulin-enheter per timme. Om den överskrids kommer pumpen att pausas.</string>
|
<string name="hourly_max_insulin_summary">Ange maximalt tillåtna insulin-enheter per timme. Om den överskrids kommer pumpen att pausas.</string>
|
||||||
<string name="daily_max_insulin_title">Maximal daglig insulin-dos</string>
|
|
||||||
<string name="daily_max_insulin_summary">Ange maximalt tillåtna insulin-enheter per dag. Om den överskrids kommer pumpen att pausas.</string>
|
<string name="daily_max_insulin_summary">Ange maximalt tillåtna insulin-enheter per dag. Om den överskrids kommer pumpen att pausas.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Hämtar pumpstatus</string>
|
<string name="getting_pump_status">Hämtar pumpstatus</string>
|
||||||
|
|
|
@ -114,9 +114,7 @@
|
||||||
<string name="pump_warning_notification_summary">Kritik olmayan pompa uyarılarıyla ilgili bildirimi göster: düşük pil, düşük rezervuar (20 birim) ve yakında süresi doluyor. Pompa alarmları sessize ayarlandığında etkin bırakılması önerilir.</string>
|
<string name="pump_warning_notification_summary">Kritik olmayan pompa uyarılarıyla ilgili bildirimi göster: düşük pil, düşük rezervuar (20 birim) ve yakında süresi doluyor. Pompa alarmları sessize ayarlandığında etkin bırakılması önerilir.</string>
|
||||||
<string name="patch_expiration_title">Patch süre sonu</string>
|
<string name="patch_expiration_title">Patch süre sonu</string>
|
||||||
<string name="patch_expiration_summary">Etkinleştirildiğinde, patch 3 gün sonra sona erecek ve bunun ardından 8 saatlik bir ek süre tanınacaktır.</string>
|
<string name="patch_expiration_summary">Etkinleştirildiğinde, patch 3 gün sonra sona erecek ve bunun ardından 8 saatlik bir ek süre tanınacaktır.</string>
|
||||||
<string name="hourly_max_insulin_title">Saatlik Maksimum insülin</string>
|
|
||||||
<string name="hourly_max_insulin_summary">Bir saatte izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır.</string>
|
<string name="hourly_max_insulin_summary">Bir saatte izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır.</string>
|
||||||
<string name="daily_max_insulin_title">Günlük Maksimum insülin</string>
|
|
||||||
<string name="daily_max_insulin_summary">Bir günde izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır.</string>
|
<string name="daily_max_insulin_summary">Bir günde izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır.</string>
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
<string name="getting_pump_status">Pompa durumu alınıyor</string>
|
<string name="getting_pump_status">Pompa durumu alınıyor</string>
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<string name="key_alarm_setting" translatable="false">alarm_setting</string>
|
<string name="key_alarm_setting" translatable="false">alarm_setting</string>
|
||||||
<string name="key_patch_expiration" translatable="false">patch_expiration</string>
|
<string name="key_patch_expiration" translatable="false">patch_expiration</string>
|
||||||
<string name="key_pump_warning_notification" translatable="false">pump_warning_notification</string>
|
<string name="key_pump_warning_notification" translatable="false">pump_warning_notification</string>
|
||||||
|
<string name="key_pump_warning_expiry_hour" translatable="false">pump_expiry_warning_hour</string>
|
||||||
<string name="key_hourly_max_insulin" translatable="false">hourly_max_insulin</string>
|
<string name="key_hourly_max_insulin" translatable="false">hourly_max_insulin</string>
|
||||||
<string name="key_daily_max_insulin" translatable="false">daily_max_insulin</string>
|
<string name="key_daily_max_insulin" translatable="false">daily_max_insulin</string>
|
||||||
|
|
||||||
|
@ -145,11 +146,13 @@
|
||||||
<string name="alarm_setting_summary">Select your preferred pump alarm settings.</string>
|
<string name="alarm_setting_summary">Select your preferred pump alarm settings.</string>
|
||||||
<string name="pump_warning_notification_title">Notification on pump warning</string>
|
<string name="pump_warning_notification_title">Notification on pump warning</string>
|
||||||
<string name="pump_warning_notification_summary">Show notification on non critical pump warnings: low battery, low reservoir (20 units) and expires soon. Recommended to leave enabled when pump alarms are set to silent.</string>
|
<string name="pump_warning_notification_summary">Show notification on non critical pump warnings: low battery, low reservoir (20 units) and expires soon. Recommended to leave enabled when pump alarms are set to silent.</string>
|
||||||
|
<string name="pump_warning_expiry_hour_title">Pump expiry warning [hours]</string>
|
||||||
|
<string name="pump_warning_expiry_hour_summary">Show notification on specified hour after activation.</string>
|
||||||
<string name="patch_expiration_title">Patch Expiration</string>
|
<string name="patch_expiration_title">Patch Expiration</string>
|
||||||
<string name="patch_expiration_summary">When enabled, the patch will expire after 3 days, with a grace period of 8 hours after that.</string>
|
<string name="patch_expiration_summary">When enabled, the patch will expire after 3 days, with a grace period of 8 hours after that.</string>
|
||||||
<string name="hourly_max_insulin_title">Hourly Maximum Insulin</string>
|
<string name="hourly_max_insulin_title">Hourly Maximum Insulin [Units]</string>
|
||||||
<string name="hourly_max_insulin_summary">Specify the maximum units of insulin allowed per hour. If exceeded, the pump will suspend.</string>
|
<string name="hourly_max_insulin_summary">Specify the maximum units of insulin allowed per hour. If exceeded, the pump will suspend.</string>
|
||||||
<string name="daily_max_insulin_title">Daily Maximum Insulin</string>
|
<string name="daily_max_insulin_title">Daily Maximum Insulin [Units]</string>
|
||||||
<string name="daily_max_insulin_summary">Specify the maximum units of insulin allowed per day. If exceeded, the pump will suspend.</string>
|
<string name="daily_max_insulin_summary">Specify the maximum units of insulin allowed per day. If exceeded, the pump will suspend.</string>
|
||||||
|
|
||||||
<!-- treatment state-->
|
<!-- treatment state-->
|
||||||
|
|
|
@ -13,12 +13,6 @@
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:title="@string/sn_input_title" />
|
android:title="@string/sn_input_title" />
|
||||||
|
|
||||||
<SwitchPreference
|
|
||||||
android:defaultValue="true"
|
|
||||||
android:key="@string/key_patch_expiration"
|
|
||||||
android:title="@string/patch_expiration_title"
|
|
||||||
android:summary="@string/patch_expiration_summary" />
|
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="6"
|
android:defaultValue="6"
|
||||||
android:key="@string/key_alarm_setting"
|
android:key="@string/key_alarm_setting"
|
||||||
|
@ -33,6 +27,22 @@
|
||||||
android:title="@string/pump_warning_notification_title"
|
android:title="@string/pump_warning_notification_title"
|
||||||
android:summary="@string/pump_warning_notification_summary" />
|
android:summary="@string/pump_warning_notification_summary" />
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:defaultValue="true"
|
||||||
|
android:key="@string/key_patch_expiration"
|
||||||
|
android:title="@string/patch_expiration_title"
|
||||||
|
android:summary="@string/patch_expiration_summary" />
|
||||||
|
|
||||||
|
<app.aaps.core.validators.ValidatingEditTextPreference
|
||||||
|
android:defaultValue="72"
|
||||||
|
android:inputType="number"
|
||||||
|
android:key="@string/key_pump_warning_expiry_hour"
|
||||||
|
android:title="@string/pump_warning_expiry_hour_title"
|
||||||
|
android:dialogMessage="@string/pump_warning_expiry_hour_summary"
|
||||||
|
validate:maxNumber="80"
|
||||||
|
validate:minNumber="48"
|
||||||
|
validate:testType="numericRange" />
|
||||||
|
|
||||||
<app.aaps.core.validators.ValidatingEditTextPreference
|
<app.aaps.core.validators.ValidatingEditTextPreference
|
||||||
android:defaultValue="25"
|
android:defaultValue="25"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
|
|
|
@ -116,7 +116,7 @@
|
||||||
<string name="omnipod_common_preferences_category_alerts">Varsler</string>
|
<string name="omnipod_common_preferences_category_alerts">Varsler</string>
|
||||||
<string name="omnipod_common_preferences_category_confirmation_beeps">Bekreftelseslyd</string>
|
<string name="omnipod_common_preferences_category_confirmation_beeps">Bekreftelseslyd</string>
|
||||||
<string name="omnipod_common_preferences_category_notifications">Varsler</string>
|
<string name="omnipod_common_preferences_category_notifications">Varsler</string>
|
||||||
<string name="omnipod_common_preferences_notification_uncertain_tbr_sound_enabled">Lydvarsel for ubekreftet temp basal dosering (TBR) er aktivert</string>
|
<string name="omnipod_common_preferences_notification_uncertain_tbr_sound_enabled">Lydvarsel for ubekreftet midlertidig basaldosering (TBR) er aktivert</string>
|
||||||
<string name="omnipod_common_preferences_notification_uncertain_smb_sound_enabled">Lydvarsel for ubekreftet SMB er aktivert</string>
|
<string name="omnipod_common_preferences_notification_uncertain_smb_sound_enabled">Lydvarsel for ubekreftet SMB er aktivert</string>
|
||||||
<string name="omnipod_common_preferences_notification_uncertain_bolus_sound_enabled">Lydvarsel for ubekreftet bolus er aktivert</string>
|
<string name="omnipod_common_preferences_notification_uncertain_bolus_sound_enabled">Lydvarsel for ubekreftet bolus er aktivert</string>
|
||||||
<!-- Omnipod - Pod Status -->
|
<!-- Omnipod - Pod Status -->
|
||||||
|
@ -134,7 +134,7 @@
|
||||||
<string name="omnipod_common_cmd_discard_pod">Forkast Pod</string>
|
<string name="omnipod_common_cmd_discard_pod">Forkast Pod</string>
|
||||||
<string name="omnipod_common_cmd_set_bolus">Angi Bolus</string>
|
<string name="omnipod_common_cmd_set_bolus">Angi Bolus</string>
|
||||||
<string name="omnipod_common_cmd_cancel_bolus">Avbryt Bolus</string>
|
<string name="omnipod_common_cmd_cancel_bolus">Avbryt Bolus</string>
|
||||||
<string name="omnipod_common_cmd_set_tbr">Angi Midlertidig Basal</string>
|
<string name="omnipod_common_cmd_set_tbr">Angi midlertidig basal</string>
|
||||||
<string name="omnipod_common_cmd_cancel_tbr_by_driver">Avbryt midlertidig basal (internt av driver)</string>
|
<string name="omnipod_common_cmd_cancel_tbr_by_driver">Avbryt midlertidig basal (internt av driver)</string>
|
||||||
<string name="omnipod_common_cmd_cancel_tbr">Avbryt midlertidig basal</string>
|
<string name="omnipod_common_cmd_cancel_tbr">Avbryt midlertidig basal</string>
|
||||||
<string name="omnipod_common_cmd_set_basal_schedule">Angi basalprogram</string>
|
<string name="omnipod_common_cmd_set_basal_schedule">Angi basalprogram</string>
|
||||||
|
|
|
@ -44,10 +44,10 @@
|
||||||
<string name="omnipod_eros_error_set_basal_failed_delivery_might_be_suspended">Endring av basalprofil mislyktes. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig.</string>
|
<string name="omnipod_eros_error_set_basal_failed_delivery_might_be_suspended">Endring av basalprofil mislyktes. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig.</string>
|
||||||
<string name="omnipod_eros_error_set_basal_might_have_failed_delivery_might_be_suspended">Endring av basalprofil kan ha feilet. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig.</string>
|
<string name="omnipod_eros_error_set_basal_might_have_failed_delivery_might_be_suspended">Endring av basalprofil kan ha feilet. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig.</string>
|
||||||
<string name="omnipod_eros_error_set_basal_failed_delivery_suspended">Endring av basal profil mislyktes. Insulinlevering er stoppet! Velg gjenoppta levering manuelt fra Omnipod-menyen.</string>
|
<string name="omnipod_eros_error_set_basal_failed_delivery_suspended">Endring av basal profil mislyktes. Insulinlevering er stoppet! Velg gjenoppta levering manuelt fra Omnipod-menyen.</string>
|
||||||
<string name="omnipod_eros_error_cancel_temp_basal_failed_uncertain">Mislyktes trolig med å kansellere temp basal. Vennligst oppdater Pod status manuelt fra Omnipod menyen.</string>
|
<string name="omnipod_eros_error_cancel_temp_basal_failed_uncertain">Mislyktes trolig med å kansellere midlertidig basal. Vennligst oppdater Pod-status manuelt fra Omnipod-menyen.</string>
|
||||||
<string name="omnipod_eros_error_set_temp_basal_failed_old_tbr_might_be_cancelled">Endring av midlertidig basal var mislykket. En tidligere midlertidig basal kan ha blitt kansellert. Oppdater statusen på Pod manuelt fra Omnipod fanen.</string>
|
<string name="omnipod_eros_error_set_temp_basal_failed_old_tbr_might_be_cancelled">Endring av midlertidig basal var mislykket. En tidligere midlertidig basal kan ha blitt kansellert. Oppdater statusen på Pod manuelt fra Omnipod fanen.</string>
|
||||||
<string name="omnipod_eros_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Setting av temp basal kan ha feilet. Hvis en temp basal allerede var aktiv så er den nå avbrutt. Vennligst oppdater Pod status manuelt fra Omnipod menyen.</string>
|
<string name="omnipod_eros_error_set_temp_basal_failed_old_tbr_cancelled_new_might_have_failed">Setting av midlertidig basal kan ha feilet. Hvis en midlertidig basal allerede var aktiv så er den nå avbrutt. Vennligst oppdater Pod-status manuelt fra Omnipod-menyen.</string>
|
||||||
<string name="omnipod_eros_error_set_temp_basal_failed_validation">TBR varighet må være større enn null og et multiplum av %1$s minutter.</string>
|
<string name="omnipod_eros_error_set_temp_basal_failed_validation">Midlertidig basalvarighet må være større enn null og et multiplum av %1$s minutter.</string>
|
||||||
<string name="omnipod_eros_error_set_time_failed_delivery_might_be_suspended">Innstilling av tid kan ha mislyktes. Insulinlevering kan være pauset! Oppdater statusen manuelt fra fanen Omnipod og gjenoppta levering hvis nødvendig.</string>
|
<string name="omnipod_eros_error_set_time_failed_delivery_might_be_suspended">Innstilling av tid kan ha mislyktes. Insulinlevering kan være pauset! Oppdater statusen manuelt fra fanen Omnipod og gjenoppta levering hvis nødvendig.</string>
|
||||||
<string name="omnipod_eros_error_set_time_failed_delivery_suspended">Endring av tid mislyktes. Insulinlevering er pauset! Velg gjenoppta levering manuelt fra Omnipod-fanen.</string>
|
<string name="omnipod_eros_error_set_time_failed_delivery_suspended">Endring av tid mislyktes. Insulinlevering er pauset! Velg gjenoppta levering manuelt fra Omnipod-fanen.</string>
|
||||||
<string name="omnipod_eros_error_failed_to_read_pulse_log">Feilet i å lese Pulsloggen</string>
|
<string name="omnipod_eros_error_failed_to_read_pulse_log">Feilet i å lese Pulsloggen</string>
|
||||||
|
|
|
@ -35,7 +35,7 @@ class TreatmentsActivity : TranslatedDaggerAppCompatActivity() {
|
||||||
|
|
||||||
// Use index, TabItems crashes with an id
|
// Use index, TabItems crashes with an id
|
||||||
val useFakeTempBasal = activePlugin.activePump.isFakingTempsByExtendedBoluses
|
val useFakeTempBasal = activePlugin.activePump.isFakingTempsByExtendedBoluses
|
||||||
binding.treatmentsTabs.getTabAt(1)?.view?.visibility = useFakeTempBasal.toVisibility()
|
binding.treatmentsTabs.getTabAt(1)?.view?.visibility = useFakeTempBasal.not().toVisibility()
|
||||||
|
|
||||||
setFragment(TreatmentsBolusCarbsFragment())
|
setFragment(TreatmentsBolusCarbsFragment())
|
||||||
setSupportActionBar(binding.toolbar)
|
setSupportActionBar(binding.toolbar)
|
||||||
|
|
|
@ -48,9 +48,9 @@
|
||||||
<string name="timeshift_label">Cambio de hora</string>
|
<string name="timeshift_label">Cambio de hora</string>
|
||||||
<string name="percentage_label">Porcentaje</string>
|
<string name="percentage_label">Porcentaje</string>
|
||||||
<!-- LoopDialog -->
|
<!-- LoopDialog -->
|
||||||
<string name="suspendloopfor1h">Suspender bucle durante 1 hora</string>
|
<string name="suspendloopfor1h">Suspender lazo durante 1 hora</string>
|
||||||
<string name="suspendloopfor2h">Suspender bucle durante 2 horas</string>
|
<string name="suspendloopfor2h">Suspender lazo durante 2 horas</string>
|
||||||
<string name="suspendloopfor3h">Suspender bucle durante 3 horas</string>
|
<string name="suspendloopfor3h">Suspender lazo durante 3 horas</string>
|
||||||
<string name="suspendloopfor10h">Suspender bucle durante 10 horas</string>
|
<string name="suspendloopfor10h">Suspender bucle durante 10 horas</string>
|
||||||
<string name="disconnectpump">Desconectar bomba</string>
|
<string name="disconnectpump">Desconectar bomba</string>
|
||||||
<string name="disconnectpumpfor15m">Desconectar la bomba durante 15 minutos</string>
|
<string name="disconnectpumpfor15m">Desconectar la bomba durante 15 minutos</string>
|
||||||
|
@ -101,12 +101,12 @@
|
||||||
<string name="show_invalidated">Mostrar invalidados</string>
|
<string name="show_invalidated">Mostrar invalidados</string>
|
||||||
<string name="hide_invalidated">Ocultar invalidados</string>
|
<string name="hide_invalidated">Ocultar invalidados</string>
|
||||||
<string name="careportal_remove_started_events">Eliminar registros de inicio de AAPS</string>
|
<string name="careportal_remove_started_events">Eliminar registros de inicio de AAPS</string>
|
||||||
<string name="hide_loop">Ocultar bucle</string>
|
<string name="hide_loop">Ocultar lazo</string>
|
||||||
<string name="show_loop">Mostrar bucle</string>
|
<string name="show_loop">Mostrar lazo</string>
|
||||||
<string name="user_entry">Registro por parte del usuario</string>
|
<string name="user_entry">Registro por parte del usuario</string>
|
||||||
<string name="clone_label">Duplicar</string>
|
<string name="clone_label">Duplicar</string>
|
||||||
<string name="show_loop_records">Mostrar registros del bucle</string>
|
<string name="show_loop_records">Mostrar registros del lazo</string>
|
||||||
<string name="show_hide_records">Ocultar registros del bucle</string>
|
<string name="show_hide_records">Ocultar registros del lazo</string>
|
||||||
<!-- ProfileHelperActivity -->
|
<!-- ProfileHelperActivity -->
|
||||||
<string name="profile1">Perfil 1</string>
|
<string name="profile1">Perfil 1</string>
|
||||||
<string name="profile2">Perfil 2</string>
|
<string name="profile2">Perfil 2</string>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<string name="start_activity_tt">Start midlertidig mål for Aktivitet</string>
|
<string name="start_activity_tt">Start midlertidig mål for Aktivitet</string>
|
||||||
<string name="start_eating_soon_tt">Start midlertidig mål for Spise snart</string>
|
<string name="start_eating_soon_tt">Start midlertidig mål for Spise snart</string>
|
||||||
<string name="start_hypo_tt">Start midlertidig mål for Hypo</string>
|
<string name="start_hypo_tt">Start midlertidig mål for Hypo</string>
|
||||||
<string name="time_offset">Tids- forskyvning</string>
|
<string name="time_offset">Tidsforskyvning</string>
|
||||||
<string name="unit_minute_short">min</string>
|
<string name="unit_minute_short">min</string>
|
||||||
<string name="remind_to_bolus_later">Påminnelse om å gi bolus senere</string>
|
<string name="remind_to_bolus_later">Påminnelse om å gi bolus senere</string>
|
||||||
<string name="a11y_carb_reminder">angi påminnelse</string>
|
<string name="a11y_carb_reminder">angi påminnelse</string>
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
<string name="do_not_bolus_record_only">Ikke gi bolus, bare loggfør hendelse</string>
|
<string name="do_not_bolus_record_only">Ikke gi bolus, bare loggfør hendelse</string>
|
||||||
<!-- ProfileSwitchDialog -->
|
<!-- ProfileSwitchDialog -->
|
||||||
<string name="reuse_profile_pct_hours">Gjenbruk %1$d%% %2$dt</string>
|
<string name="reuse_profile_pct_hours">Gjenbruk %1$d%% %2$dt</string>
|
||||||
<string name="timeshift_label">Tids- forskyving</string>
|
<string name="timeshift_label">Tidsforskyving</string>
|
||||||
<string name="percentage_label">Prosent</string>
|
<string name="percentage_label">Prosent</string>
|
||||||
<!-- LoopDialog -->
|
<!-- LoopDialog -->
|
||||||
<string name="suspendloopfor1h">Pause loop i 1t</string>
|
<string name="suspendloopfor1h">Pause loop i 1t</string>
|
||||||
|
|
|
@ -70,56 +70,6 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<service
|
|
||||||
android:name=".watchfaces.AapsWatchface"
|
|
||||||
android:allowEmbedded="true"
|
|
||||||
android:exported="false"
|
|
||||||
android:label="@string/label_watchface"
|
|
||||||
android:permission="android.permission.BIND_WALLPAPER">
|
|
||||||
<meta-data
|
|
||||||
android:name="android.service.wallpaper"
|
|
||||||
android:resource="@xml/watch_face" />
|
|
||||||
<meta-data
|
|
||||||
android:name="com.google.android.wearable.watchface.preview"
|
|
||||||
android:resource="@drawable/watchface_graph" />
|
|
||||||
<meta-data
|
|
||||||
android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
|
|
||||||
android:value="watch_face_configuration_home" />
|
|
||||||
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.service.wallpaper.WallpaperService" />
|
|
||||||
<category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
|
|
||||||
|
|
||||||
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
|
|
||||||
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<service
|
|
||||||
android:name=".watchfaces.AapsV2Watchface"
|
|
||||||
android:allowEmbedded="true"
|
|
||||||
android:exported="false"
|
|
||||||
android:label="@string/label_watchface_v2"
|
|
||||||
android:permission="android.permission.BIND_WALLPAPER">
|
|
||||||
<meta-data
|
|
||||||
android:name="android.service.wallpaper"
|
|
||||||
android:resource="@xml/watch_face" />
|
|
||||||
<meta-data
|
|
||||||
android:name="com.google.android.wearable.watchface.preview"
|
|
||||||
android:resource="@drawable/watchface_graph_2" />
|
|
||||||
<meta-data
|
|
||||||
android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
|
|
||||||
android:value="watch_face_configuration_home2" />
|
|
||||||
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.service.wallpaper.WallpaperService" />
|
|
||||||
<category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
|
|
||||||
|
|
||||||
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
|
|
||||||
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name=".watchfaces.AapsLargeWatchface"
|
android:name=".watchfaces.AapsLargeWatchface"
|
||||||
android:allowEmbedded="true"
|
android:allowEmbedded="true"
|
||||||
|
@ -601,8 +551,6 @@
|
||||||
<action android:name="watch_face_configuration_circle" />
|
<action android:name="watch_face_configuration_circle" />
|
||||||
<action android:name="watch_face_configuration_custom" />
|
<action android:name="watch_face_configuration_custom" />
|
||||||
<action android:name="watch_face_configuration_digitalstyle" />
|
<action android:name="watch_face_configuration_digitalstyle" />
|
||||||
<action android:name="watch_face_configuration_home" />
|
|
||||||
<action android:name="watch_face_configuration_home2" />
|
|
||||||
<action android:name="watch_face_configuration_largehome" />
|
<action android:name="watch_face_configuration_largehome" />
|
||||||
<action android:name="watch_face_configuration_nochart" />
|
<action android:name="watch_face_configuration_nochart" />
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,6 @@ import app.aaps.wear.tile.QuickWizardTileService
|
||||||
import app.aaps.wear.tile.TempTargetTileService
|
import app.aaps.wear.tile.TempTargetTileService
|
||||||
import app.aaps.wear.tile.TileBase
|
import app.aaps.wear.tile.TileBase
|
||||||
import app.aaps.wear.watchfaces.AapsLargeWatchface
|
import app.aaps.wear.watchfaces.AapsLargeWatchface
|
||||||
import app.aaps.wear.watchfaces.AapsV2Watchface
|
|
||||||
import app.aaps.wear.watchfaces.AapsWatchface
|
|
||||||
import app.aaps.wear.watchfaces.BigChartWatchface
|
import app.aaps.wear.watchfaces.BigChartWatchface
|
||||||
import app.aaps.wear.watchfaces.CircleWatchface
|
import app.aaps.wear.watchfaces.CircleWatchface
|
||||||
import app.aaps.wear.watchfaces.CustomWatchface
|
import app.aaps.wear.watchfaces.CustomWatchface
|
||||||
|
@ -52,8 +50,6 @@ abstract class WearServicesModule {
|
||||||
@ContributesAndroidInjector abstract fun contributesWallpaperComplication(): WallpaperComplication
|
@ContributesAndroidInjector abstract fun contributesWallpaperComplication(): WallpaperComplication
|
||||||
|
|
||||||
@ContributesAndroidInjector abstract fun contributesBaseWatchFace(): BaseWatchFace
|
@ContributesAndroidInjector abstract fun contributesBaseWatchFace(): BaseWatchFace
|
||||||
@ContributesAndroidInjector abstract fun contributesAapsWatchface(): AapsWatchface
|
|
||||||
@ContributesAndroidInjector abstract fun contributesAapsV2Watchface(): AapsV2Watchface
|
|
||||||
@ContributesAndroidInjector abstract fun contributesAapsLargeWatchface(): AapsLargeWatchface
|
@ContributesAndroidInjector abstract fun contributesAapsLargeWatchface(): AapsLargeWatchface
|
||||||
@ContributesAndroidInjector abstract fun contributesDigitalStyleWatchface(): DigitalStyleWatchface
|
@ContributesAndroidInjector abstract fun contributesDigitalStyleWatchface(): DigitalStyleWatchface
|
||||||
@ContributesAndroidInjector abstract fun contributesBIGChart(): BigChartWatchface
|
@ContributesAndroidInjector abstract fun contributesBIGChart(): BigChartWatchface
|
||||||
|
|
|
@ -1,172 +0,0 @@
|
||||||
package app.aaps.wear.watchfaces
|
|
||||||
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import androidx.annotation.ColorInt
|
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
import androidx.viewbinding.ViewBinding
|
|
||||||
import app.aaps.wear.R
|
|
||||||
import app.aaps.wear.databinding.ActivityHome2Binding
|
|
||||||
import app.aaps.wear.watchfaces.utils.BaseWatchFace
|
|
||||||
import com.ustwo.clockwise.common.WatchMode
|
|
||||||
|
|
||||||
class AapsV2Watchface : BaseWatchFace() {
|
|
||||||
|
|
||||||
private lateinit var binding: ActivityHome2Binding
|
|
||||||
|
|
||||||
override fun inflateLayout(inflater: LayoutInflater): ViewBinding {
|
|
||||||
binding = ActivityHome2Binding.inflate(inflater)
|
|
||||||
return binding
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setColorDark() {
|
|
||||||
@ColorInt val dividerTxtColor = if (dividerMatchesBg) ContextCompat.getColor(this, R.color.dark_midColor) else Color.BLACK
|
|
||||||
@ColorInt val dividerBatteryOkColor = ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_midColor else R.color.dark_uploaderBattery)
|
|
||||||
@ColorInt val dividerBgColor = ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_statusView)
|
|
||||||
binding.secondaryLayout.setBackgroundColor(dividerBgColor)
|
|
||||||
binding.tertiaryLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.dark_background))
|
|
||||||
binding.mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.dark_background))
|
|
||||||
binding.time.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.iob1.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.iob2.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.cob1.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.cob2.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.day.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.month.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.loop.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
setTextSizes()
|
|
||||||
val color = when (singleBg.sgvLevel) {
|
|
||||||
1L -> R.color.dark_highColor
|
|
||||||
0L -> R.color.dark_midColor
|
|
||||||
-1L -> R.color.dark_lowColor
|
|
||||||
else -> R.color.dark_midColor
|
|
||||||
}
|
|
||||||
binding.sgv.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
binding.direction.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
|
|
||||||
val colorTime = if (ageLevel == 1) R.color.dark_midColor else R.color.dark_TimestampOld
|
|
||||||
binding.timestamp.setTextColor(ContextCompat.getColor(this, colorTime))
|
|
||||||
val colourBat = if (status.batteryLevel == 1) dividerBatteryOkColor else ContextCompat.getColor(this, R.color.dark_uploaderBatteryEmpty)
|
|
||||||
binding.uploaderBattery.setTextColor(colourBat)
|
|
||||||
|
|
||||||
binding.rigBattery.setTextColor(dividerTxtColor)
|
|
||||||
binding.delta.setTextColor(dividerTxtColor)
|
|
||||||
binding.avgDelta.setTextColor(dividerTxtColor)
|
|
||||||
binding.basalRate.setTextColor(dividerTxtColor)
|
|
||||||
binding.bgi.setTextColor(dividerTxtColor)
|
|
||||||
when (loopLevel) {
|
|
||||||
-1 -> binding.loop.setBackgroundResource(R.drawable.loop_grey_25)
|
|
||||||
1 -> binding.loop.setBackgroundResource(R.drawable.loop_green_25)
|
|
||||||
else -> binding.loop.setBackgroundResource(R.drawable.loop_red_25)
|
|
||||||
}
|
|
||||||
|
|
||||||
highColor = ContextCompat.getColor(this, R.color.dark_highColor)
|
|
||||||
lowColor = ContextCompat.getColor(this, R.color.dark_lowColor)
|
|
||||||
midColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
gridColor = ContextCompat.getColor(this, R.color.dark_gridColor)
|
|
||||||
basalBackgroundColor = ContextCompat.getColor(this, R.color.basal_dark)
|
|
||||||
basalCenterColor = ContextCompat.getColor(this, R.color.basal_light)
|
|
||||||
pointSize = 2
|
|
||||||
setupCharts()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setColorLowRes() {
|
|
||||||
@ColorInt val dividerTxtColor = if (dividerMatchesBg) ContextCompat.getColor(this, R.color.dark_midColor) else Color.BLACK
|
|
||||||
@ColorInt val dividerBgColor = ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_statusView)
|
|
||||||
binding.secondaryLayout.setBackgroundColor(dividerBgColor)
|
|
||||||
binding.tertiaryLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.dark_background))
|
|
||||||
binding.mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.dark_background))
|
|
||||||
binding.loop.setBackgroundResource(R.drawable.loop_grey_25)
|
|
||||||
binding.loop.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.sgv.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.direction.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.timestamp.setTextColor(ContextCompat.getColor(this, R.color.dark_Timestamp))
|
|
||||||
binding.delta.setTextColor(dividerTxtColor)
|
|
||||||
binding.avgDelta.setTextColor(dividerTxtColor)
|
|
||||||
binding.rigBattery.setTextColor(dividerTxtColor)
|
|
||||||
binding.uploaderBattery.setTextColor(dividerTxtColor)
|
|
||||||
binding.basalRate.setTextColor(dividerTxtColor)
|
|
||||||
binding.bgi.setTextColor(dividerTxtColor)
|
|
||||||
binding.iob1.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.iob2.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.cob1.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.cob2.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.day.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.month.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.time.setTextColor(ContextCompat.getColor(this, R.color.dark_mTime))
|
|
||||||
|
|
||||||
highColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
lowColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
midColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
gridColor = ContextCompat.getColor(this, R.color.dark_gridColor)
|
|
||||||
basalBackgroundColor = ContextCompat.getColor(this, R.color.basal_dark_lowres)
|
|
||||||
basalCenterColor = ContextCompat.getColor(this, R.color.basal_light_lowres)
|
|
||||||
pointSize = 2
|
|
||||||
setupCharts()
|
|
||||||
|
|
||||||
setTextSizes()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setColorBright() {
|
|
||||||
if (currentWatchMode == WatchMode.INTERACTIVE) {
|
|
||||||
@ColorInt val dividerTxtColor = if (dividerMatchesBg) Color.BLACK else ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
@ColorInt val dividerBgColor = ContextCompat.getColor(this, if (dividerMatchesBg) R.color.light_background else R.color.light_stripe_background)
|
|
||||||
binding.secondaryLayout.setBackgroundColor(dividerBgColor)
|
|
||||||
binding.tertiaryLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.light_background))
|
|
||||||
binding.mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.light_background))
|
|
||||||
binding.time.setTextColor(Color.BLACK)
|
|
||||||
binding.iob1.setTextColor(Color.BLACK)
|
|
||||||
binding.iob2.setTextColor(Color.BLACK)
|
|
||||||
binding.cob1.setTextColor(Color.BLACK)
|
|
||||||
binding.cob2.setTextColor(Color.BLACK)
|
|
||||||
binding.day.setTextColor(Color.BLACK)
|
|
||||||
binding.month.setTextColor(Color.BLACK)
|
|
||||||
binding.loop.setTextColor(Color.BLACK)
|
|
||||||
setTextSizes()
|
|
||||||
val color = when (singleBg.sgvLevel) {
|
|
||||||
1L -> R.color.light_highColor
|
|
||||||
0L -> R.color.light_midColor
|
|
||||||
-1L -> R.color.light_lowColor
|
|
||||||
else -> R.color.light_midColor
|
|
||||||
}
|
|
||||||
binding.sgv.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
binding.direction.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
val colorTime = if (ageLevel == 1) Color.BLACK else Color.RED
|
|
||||||
binding.timestamp.setTextColor(colorTime)
|
|
||||||
val colourBat = if (status.batteryLevel == 1) dividerTxtColor else Color.RED
|
|
||||||
binding.uploaderBattery.setTextColor(colourBat)
|
|
||||||
binding.rigBattery.setTextColor(dividerTxtColor)
|
|
||||||
binding.delta.setTextColor(dividerTxtColor)
|
|
||||||
binding.avgDelta.setTextColor(dividerTxtColor)
|
|
||||||
binding.basalRate.setTextColor(dividerTxtColor)
|
|
||||||
binding.bgi.setTextColor(dividerTxtColor)
|
|
||||||
when (loopLevel) {
|
|
||||||
-1 -> binding.loop.setBackgroundResource(R.drawable.loop_grey_25)
|
|
||||||
1 -> binding.loop.setBackgroundResource(R.drawable.loop_green_25)
|
|
||||||
else -> binding.loop.setBackgroundResource(R.drawable.loop_red_25)
|
|
||||||
}
|
|
||||||
|
|
||||||
highColor = ContextCompat.getColor(this, R.color.light_highColor)
|
|
||||||
lowColor = ContextCompat.getColor(this, R.color.light_lowColor)
|
|
||||||
midColor = ContextCompat.getColor(this, R.color.light_midColor)
|
|
||||||
gridColor = ContextCompat.getColor(this, R.color.light_gridColor)
|
|
||||||
basalBackgroundColor = ContextCompat.getColor(this, R.color.basal_light)
|
|
||||||
basalCenterColor = ContextCompat.getColor(this, R.color.basal_dark)
|
|
||||||
pointSize = 2
|
|
||||||
setupCharts()
|
|
||||||
|
|
||||||
} else {
|
|
||||||
setColorDark()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setTextSizes() {
|
|
||||||
if (detailedIob) {
|
|
||||||
binding.iob1.textSize = 14f
|
|
||||||
binding.iob2.textSize = 10f
|
|
||||||
} else {
|
|
||||||
binding.iob1.textSize = 10f
|
|
||||||
binding.iob2.textSize = 14f
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,107 +0,0 @@
|
||||||
package app.aaps.wear.watchfaces
|
|
||||||
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
import androidx.viewbinding.ViewBinding
|
|
||||||
import app.aaps.wear.R
|
|
||||||
import app.aaps.wear.databinding.ActivityHomeBinding
|
|
||||||
import app.aaps.wear.watchfaces.utils.BaseWatchFace
|
|
||||||
import com.ustwo.clockwise.common.WatchMode
|
|
||||||
|
|
||||||
class AapsWatchface : BaseWatchFace() {
|
|
||||||
|
|
||||||
private lateinit var binding: ActivityHomeBinding
|
|
||||||
|
|
||||||
override fun inflateLayout(inflater: LayoutInflater): ViewBinding {
|
|
||||||
binding = ActivityHomeBinding.inflate(inflater)
|
|
||||||
return binding
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setColorDark() {
|
|
||||||
binding.mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.dark_background))
|
|
||||||
binding.secondaryLayout.setBackgroundColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_statusView))
|
|
||||||
binding.time.setTextColor(ContextCompat.getColor(this, R.color.dark_mTime))
|
|
||||||
val color = when (singleBg.sgvLevel) {
|
|
||||||
1L -> R.color.dark_highColor
|
|
||||||
0L -> R.color.dark_midColor
|
|
||||||
-1L -> R.color.dark_lowColor
|
|
||||||
else -> R.color.dark_midColor
|
|
||||||
}
|
|
||||||
binding.sgv.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
binding.delta.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
binding.direction.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
|
|
||||||
val colorTime = if (ageLevel == 1) if (dividerMatchesBg) R.color.dark_midColor else R.color.dark_mTimestamp1_home else R.color.dark_TimestampOld
|
|
||||||
binding.timestamp.setTextColor(ContextCompat.getColor(this, colorTime))
|
|
||||||
|
|
||||||
val colourBat = if (status.batteryLevel == 1) if (dividerMatchesBg) R.color.dark_midColor else R.color.dark_uploaderBattery else R.color.dark_uploaderBatteryEmpty
|
|
||||||
binding.uploaderBattery.setTextColor(ContextCompat.getColor(this, colourBat))
|
|
||||||
|
|
||||||
binding.status.setTextColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_midColor else R.color.dark_mStatus_home))
|
|
||||||
|
|
||||||
highColor = ContextCompat.getColor(this, R.color.dark_highColor)
|
|
||||||
lowColor = ContextCompat.getColor(this, R.color.dark_lowColor)
|
|
||||||
midColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
gridColor = ContextCompat.getColor(this, R.color.dark_gridColor)
|
|
||||||
basalBackgroundColor = ContextCompat.getColor(this, R.color.basal_dark)
|
|
||||||
basalCenterColor = ContextCompat.getColor(this, R.color.basal_light)
|
|
||||||
pointSize = 2
|
|
||||||
setupCharts()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setColorLowRes() {
|
|
||||||
binding.time.setTextColor(ContextCompat.getColor(this, R.color.dark_mTime))
|
|
||||||
binding.mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.dark_background))
|
|
||||||
binding.sgv.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.delta.setTextColor(ContextCompat.getColor(this, R.color.dark_midColor))
|
|
||||||
binding.timestamp.setTextColor(ContextCompat.getColor(this, R.color.dark_Timestamp))
|
|
||||||
|
|
||||||
highColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
lowColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
midColor = ContextCompat.getColor(this, R.color.dark_midColor)
|
|
||||||
gridColor = ContextCompat.getColor(this, R.color.dark_gridColor)
|
|
||||||
basalBackgroundColor = ContextCompat.getColor(this, R.color.basal_dark_lowres)
|
|
||||||
basalCenterColor = ContextCompat.getColor(this, R.color.basal_light_lowres)
|
|
||||||
pointSize = 2
|
|
||||||
setupCharts()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setColorBright() {
|
|
||||||
if (currentWatchMode == WatchMode.INTERACTIVE) {
|
|
||||||
binding.secondaryLayout.setBackgroundColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.light_background else R.color.light_stripe_background))
|
|
||||||
binding.mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.light_background))
|
|
||||||
val color = when (singleBg.sgvLevel) {
|
|
||||||
1L -> R.color.light_highColor
|
|
||||||
0L -> R.color.light_midColor
|
|
||||||
-1L -> R.color.light_lowColor
|
|
||||||
else -> R.color.light_midColor
|
|
||||||
}
|
|
||||||
binding.sgv.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
binding.delta.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
binding.direction.setTextColor(ContextCompat.getColor(this, color))
|
|
||||||
|
|
||||||
val colorTime = if (ageLevel == 1) if (dividerMatchesBg) Color.BLACK else Color.WHITE else Color.RED
|
|
||||||
binding.timestamp.setTextColor(colorTime)
|
|
||||||
|
|
||||||
val colourBat = if (status.batteryLevel == 1) if (dividerMatchesBg) Color.BLACK else Color.WHITE else Color.RED
|
|
||||||
binding.uploaderBattery.setTextColor(colourBat)
|
|
||||||
|
|
||||||
binding.status.setTextColor(if (dividerMatchesBg) Color.BLACK else Color.WHITE)
|
|
||||||
binding.time.setTextColor(Color.BLACK)
|
|
||||||
|
|
||||||
highColor = ContextCompat.getColor(this, R.color.light_highColor)
|
|
||||||
lowColor = ContextCompat.getColor(this, R.color.light_lowColor)
|
|
||||||
midColor = ContextCompat.getColor(this, R.color.light_midColor)
|
|
||||||
gridColor = ContextCompat.getColor(this, R.color.light_gridColor)
|
|
||||||
basalBackgroundColor = ContextCompat.getColor(this, R.color.basal_light)
|
|
||||||
basalCenterColor = ContextCompat.getColor(this, R.color.basal_dark)
|
|
||||||
pointSize = 2
|
|
||||||
setupCharts()
|
|
||||||
|
|
||||||
} else {
|
|
||||||
setColorDark()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -106,15 +106,15 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
|
|
||||||
override fun setColorDark() {
|
override fun setColorDark() {
|
||||||
setWatchfaceStyle()
|
setWatchfaceStyle()
|
||||||
if ((ViewMap.SGV.dynData?.stepFontColor ?: 0) == 0)
|
if ((ViewMap.SGV.dynData?.stepFontColor ?: 0) <= 0)
|
||||||
binding.sgv.setTextColor(bgColor)
|
binding.sgv.setTextColor(bgColor)
|
||||||
if ((ViewMap.DIRECTION.dynData?.stepColor ?: 0) == 0)
|
if ((ViewMap.DIRECTION.dynData?.stepColor ?: 0) <= 0)
|
||||||
binding.direction2.colorFilter = changeDrawableColor(bgColor)
|
binding.direction2.colorFilter = changeDrawableColor(bgColor)
|
||||||
if (ageLevel != 1 && (ViewMap.TIMESTAMP.dynData?.stepFontColor ?: 0) == 0)
|
if (ageLevel != 1 && (ViewMap.TIMESTAMP.dynData?.stepFontColor ?: 0) <= 0)
|
||||||
binding.timestamp.setTextColor(ContextCompat.getColor(this, R.color.dark_TimestampOld))
|
binding.timestamp.setTextColor(ContextCompat.getColor(this, R.color.dark_TimestampOld))
|
||||||
if (status.batteryLevel != 1 && (ViewMap.UPLOADER_BATTERY.dynData?.stepFontColor ?: 0) == 0)
|
if (status.batteryLevel != 1 && (ViewMap.UPLOADER_BATTERY.dynData?.stepFontColor ?: 0) <= 0)
|
||||||
binding.uploaderBattery.setTextColor(lowBatColor)
|
binding.uploaderBattery.setTextColor(lowBatColor)
|
||||||
if ((ViewMap.LOOP.dynData?.stepDraw ?: 0) == 0) // Apply automatic background image only if no dynData or no step images
|
if ((ViewMap.LOOP.dynData?.stepDraw ?: 0) <= 0) // Apply automatic background image only if no dynData or no step images
|
||||||
when (loopLevel) {
|
when (loopLevel) {
|
||||||
-1 -> binding.loop.setBackgroundResource(R.drawable.loop_grey_25)
|
-1 -> binding.loop.setBackgroundResource(R.drawable.loop_grey_25)
|
||||||
1 -> binding.loop.setBackgroundResource(R.drawable.loop_green_25)
|
1 -> binding.loop.setBackgroundResource(R.drawable.loop_green_25)
|
||||||
|
@ -160,6 +160,10 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
FontMap.init(this)
|
FontMap.init(this)
|
||||||
ViewMap.init(this)
|
ViewMap.init(this)
|
||||||
TrendArrowMap.init(this)
|
TrendArrowMap.init(this)
|
||||||
|
binding.freetext1.text = ""
|
||||||
|
binding.freetext2.text = ""
|
||||||
|
binding.freetext3.text = ""
|
||||||
|
binding.freetext4.text = ""
|
||||||
}
|
}
|
||||||
if (checkPref()) {
|
if (checkPref()) {
|
||||||
DynProvider.init(this, json)
|
DynProvider.init(this, json)
|
||||||
|
@ -393,10 +397,10 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
MINUTE(ViewKeys.MINUTE.key, R.id.minute),
|
MINUTE(ViewKeys.MINUTE.key, R.id.minute),
|
||||||
SECOND(ViewKeys.SECOND.key, R.id.second, R.string.key_show_seconds),
|
SECOND(ViewKeys.SECOND.key, R.id.second, R.string.key_show_seconds),
|
||||||
TIMEPERIOD(ViewKeys.TIMEPERIOD.key, R.id.timePeriod),
|
TIMEPERIOD(ViewKeys.TIMEPERIOD.key, R.id.timePeriod),
|
||||||
DAY_NAME(ViewKeys.DAY_NAME.key, R.id.day_name),
|
DAY_NAME(ViewKeys.DAY_NAME.key, R.id.day_name, R.string.key_show_date),
|
||||||
DAY(ViewKeys.DAY.key, R.id.day),
|
DAY(ViewKeys.DAY.key, R.id.day, R.string.key_show_date),
|
||||||
WEEKNUMBER(ViewKeys.WEEKNUMBER.key, R.id.week_number, R.string.key_show_week_number),
|
WEEKNUMBER(ViewKeys.WEEKNUMBER.key, R.id.week_number, R.string.key_show_week_number),
|
||||||
MONTH(ViewKeys.MONTH.key, R.id.month),
|
MONTH(ViewKeys.MONTH.key, R.id.month, R.string.key_show_date),
|
||||||
LOOP(ViewKeys.LOOP.key, R.id.loop, R.string.key_show_external_status),
|
LOOP(ViewKeys.LOOP.key, R.id.loop, R.string.key_show_external_status),
|
||||||
DIRECTION(ViewKeys.DIRECTION.key, R.id.direction2, R.string.key_show_direction),
|
DIRECTION(ViewKeys.DIRECTION.key, R.id.direction2, R.string.key_show_direction),
|
||||||
TIMESTAMP(ViewKeys.TIMESTAMP.key, R.id.timestamp, R.string.key_show_ago),
|
TIMESTAMP(ViewKeys.TIMESTAMP.key, R.id.timestamp, R.string.key_show_ago),
|
||||||
|
@ -436,6 +440,7 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
);
|
);
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
const val TRANSPARENT = "#00000000"
|
const val TRANSPARENT = "#00000000"
|
||||||
fun init(cwf: CustomWatchface) = values().forEach {
|
fun init(cwf: CustomWatchface) = values().forEach {
|
||||||
it.cwf = cwf
|
it.cwf = cwf
|
||||||
|
@ -447,6 +452,7 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
it.viewJson = null
|
it.viewJson = null
|
||||||
it.twinView = null
|
it.twinView = null
|
||||||
}
|
}
|
||||||
|
|
||||||
fun fromId(id: Int): ViewMap? = values().firstOrNull { it.id == id }
|
fun fromId(id: Int): ViewMap? = values().firstOrNull { it.id == id }
|
||||||
fun fromKey(key: String?): ViewMap? = values().firstOrNull { it.key == key }
|
fun fromKey(key: String?): ViewMap? = values().firstOrNull { it.key == key }
|
||||||
}
|
}
|
||||||
|
@ -477,6 +483,7 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
}
|
}
|
||||||
var twinView: ViewMap? = null
|
var twinView: ViewMap? = null
|
||||||
get() = field ?: viewJson?.let { viewJson -> ViewMap.fromKey(viewJson.optString(TWINVIEW.key)).also { twinView = it } }
|
get() = field ?: viewJson?.let { viewJson -> ViewMap.fromKey(viewJson.optString(TWINVIEW.key)).also { twinView = it } }
|
||||||
|
|
||||||
fun visibility(): Boolean = this.pref?.let { cwf.sp.getBoolean(it, true) }
|
fun visibility(): Boolean = this.pref?.let { cwf.sp.getBoolean(it, true) }
|
||||||
?: true
|
?: true
|
||||||
|
|
||||||
|
@ -485,46 +492,49 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
|
|
||||||
fun customizeViewCommon(view: View) {
|
fun customizeViewCommon(view: View) {
|
||||||
view.visibility = visibility
|
view.visibility = visibility
|
||||||
viewJson?.let {viewJson ->
|
viewJson?.let { viewJson ->
|
||||||
width = (viewJson.optInt(WIDTH.key) * cwf.zoomFactor).toInt()
|
width = (viewJson.optInt(WIDTH.key) * cwf.zoomFactor).toInt()
|
||||||
height = (viewJson.optInt(HEIGHT.key) * cwf.zoomFactor).toInt()
|
height = (viewJson.optInt(HEIGHT.key) * cwf.zoomFactor).toInt()
|
||||||
left = (viewJson.optInt(LEFTMARGIN.key) * cwf.zoomFactor).toInt()
|
left = (viewJson.optInt(LEFTMARGIN.key) * cwf.zoomFactor).toInt()
|
||||||
top = (viewJson.optInt(TOPMARGIN.key) * cwf.zoomFactor).toInt()
|
top = (viewJson.optInt(TOPMARGIN.key) * cwf.zoomFactor).toInt()
|
||||||
val params = FrameLayout.LayoutParams(width, height)
|
val params = FrameLayout.LayoutParams(width, height)
|
||||||
dynData = DynProvider.getDyn(cwf, viewJson.optString(DYNPREF.key), viewJson.optString(DYNDATA.key), width, height, key)
|
dynData = DynProvider.getDyn(cwf, viewJson.optString(DYNPREF.key), viewJson.optString(DYNDATA.key), width, height, key)
|
||||||
val topOffset = if (viewJson.optBoolean(TOPOFFSET.key, false)) dynData?.getTopOffset() ?: 0 else 0
|
val topOffset = ((if (viewJson.optBoolean(TOPOFFSET.key, false)) dynData?.getTopOffset() ?: 0 else 0) * cwf.zoomFactor).toInt()
|
||||||
val topOffsetTwin = ((twinView?.let { if (it.visibility != View.VISIBLE) viewJson.optInt(TOPOFFSETTWINHIDDEN.key,0) else 0 } ?: 0 ) * cwf.zoomFactor).toInt()
|
val topOffsetTwin = ((twinView?.let { if (it.visibility != View.VISIBLE) viewJson.optInt(TOPOFFSETTWINHIDDEN.key, 0) else 0 } ?: 0) * cwf.zoomFactor).toInt()
|
||||||
params.topMargin = top + topOffset + topOffsetTwin
|
val topOffsetStep = ((dynData?.getTopOffsetStep() ?:0) * cwf.zoomFactor).toInt()
|
||||||
val leftOffset = if (viewJson.optBoolean(LEFTOFFSET.key, false)) dynData?.getLeftOffset() ?: 0 else 0
|
params.topMargin = top + topOffset + topOffsetTwin + topOffsetStep
|
||||||
val leftOffsetTwin = ((twinView?.let { if (it.visibility != View.VISIBLE) viewJson.optInt(LEFTOFFSETTWINHIDDEN.key,0) else 0 } ?: 0) * cwf.zoomFactor).toInt()
|
val leftOffset = ((if (viewJson.optBoolean(LEFTOFFSET.key, false)) dynData?.getLeftOffset() ?: 0 else 0) * cwf.zoomFactor).toInt()
|
||||||
params.leftMargin = left + leftOffset + leftOffsetTwin
|
val leftOffsetTwin = ((twinView?.let { if (it.visibility != View.VISIBLE) viewJson.optInt(LEFTOFFSETTWINHIDDEN.key, 0) else 0 } ?: 0) * cwf.zoomFactor).toInt()
|
||||||
|
val leftOffsetStep = ((dynData?.getLeftOffsetStep() ?:0) * cwf.zoomFactor).toInt()
|
||||||
|
params.leftMargin = left + leftOffset + leftOffsetTwin + leftOffsetStep
|
||||||
view.layoutParams = params
|
view.layoutParams = params
|
||||||
val rotationOffset = if (viewJson.optBoolean(ROTATIONOFFSET.key, false)) dynData?.getRotationOffset()?.toFloat() ?: 0F else 0F
|
val rotationOffset = if (viewJson.optBoolean(ROTATIONOFFSET.key, false)) dynData?.getRotationOffset()?.toFloat() ?: 0F else 0F
|
||||||
view.rotation = viewJson.optInt(ROTATION.key).toFloat() + rotationOffset
|
val rotationOffsetStep = (dynData?.getRotationOffsetStep() ?:0).toFloat()
|
||||||
|
view.rotation = viewJson.optInt(ROTATION.key).toFloat() + rotationOffset + rotationOffsetStep
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun customizeTextView(view: TextView) {
|
fun customizeTextView(view: TextView) {
|
||||||
customizeViewCommon(view)
|
customizeViewCommon(view)
|
||||||
viewJson?.let { viewJson ->
|
viewJson?.let { viewJson ->
|
||||||
view.setTextSize(TypedValue.COMPLEX_UNIT_PX, (viewJson.optInt(TEXTSIZE.key, 22) * cwf.zoomFactor).toFloat())
|
view.setTextSize(TypedValue.COMPLEX_UNIT_PX, ((dynData?.getTextSizeStep() ?: viewJson.optInt(TEXTSIZE.key, 22)) * cwf.zoomFactor).toFloat())
|
||||||
view.gravity = GravityMap.gravity(viewJson.optString(GRAVITY.key, GravityMap.CENTER.key))
|
view.gravity = GravityMap.gravity(viewJson.optString(GRAVITY.key, GravityMap.CENTER.key))
|
||||||
view.setTypeface(
|
view.setTypeface(
|
||||||
FontMap.font(viewJson.optString(FONT.key, FontMap.DEFAULT.key)),
|
FontMap.font(viewJson.optString(FONT.key, FontMap.DEFAULT.key)),
|
||||||
StyleMap.style(viewJson.optString(FONTSTYLE.key, StyleMap.NORMAL.key))
|
StyleMap.style(viewJson.optString(FONTSTYLE.key, StyleMap.NORMAL.key))
|
||||||
)
|
)
|
||||||
view.setTextColor(dynData?.getFontColor() ?: cwf.getColor(viewJson.optString(FONTCOLOR.key)))
|
view.setTextColor(dynData?.getFontColorStep() ?: cwf.getColor(viewJson.optString(FONTCOLOR.key)))
|
||||||
view.isAllCaps = viewJson.optBoolean(ALLCAPS.key)
|
view.isAllCaps = viewJson.optBoolean(ALLCAPS.key)
|
||||||
if (viewJson.has(TEXTVALUE.key))
|
if (viewJson.has(TEXTVALUE.key))
|
||||||
view.text = viewJson.optString(TEXTVALUE.key)
|
view.text = viewJson.optString(TEXTVALUE.key)
|
||||||
(dynData?.getDrawable() ?: textDrawable())?.let {
|
(dynData?.getDrawable() ?: textDrawable())?.let {
|
||||||
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // Note only works on bitmap (png or jpg) not for svg files
|
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // Note only works on bitmap (png or jpg) not for svg files
|
||||||
it.colorFilter = cwf.changeDrawableColor(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
it.colorFilter = cwf.changeDrawableColor(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
||||||
else
|
else
|
||||||
it.clearColorFilter()
|
it.clearColorFilter()
|
||||||
view.background = it
|
view.background = it
|
||||||
} ?: apply { // if no drawable loaded either background key or dynData, then apply color to text background
|
} ?: apply { // if no drawable loaded either background key or dynData, then apply color to text background
|
||||||
view.setBackgroundColor(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key, TRANSPARENT), Color.TRANSPARENT))
|
view.setBackgroundColor(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key, TRANSPARENT), Color.TRANSPARENT))
|
||||||
}
|
}
|
||||||
} ?: apply { view.text = "" }
|
} ?: apply { view.text = "" }
|
||||||
}
|
}
|
||||||
|
@ -535,19 +545,19 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
viewJson?.let { viewJson ->
|
viewJson?.let { viewJson ->
|
||||||
drawable?.let {
|
drawable?.let {
|
||||||
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // Note only works on bitmap (png or jpg) not for svg files
|
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // Note only works on bitmap (png or jpg) not for svg files
|
||||||
it.colorFilter = cwf.changeDrawableColor(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
it.colorFilter = cwf.changeDrawableColor(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
||||||
else
|
else
|
||||||
it.clearColorFilter()
|
it.clearColorFilter()
|
||||||
view.setImageDrawable(it)
|
view.setImageDrawable(it)
|
||||||
} ?: apply {
|
} ?: apply {
|
||||||
view.setImageDrawable(defaultDrawable?.let { cwf.resources.getDrawable(it) })
|
view.setImageDrawable(defaultDrawable?.let { cwf.resources.getDrawable(it) })
|
||||||
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // works on xml included into res files
|
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // works on xml included into res files
|
||||||
view.setColorFilter(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
view.setColorFilter(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
||||||
else
|
else
|
||||||
view.clearColorFilter()
|
view.clearColorFilter()
|
||||||
}
|
}
|
||||||
if (view.drawable == null) // if no drowable (either default, hardcoded or dynData, then apply color to background
|
if (view.drawable == null) // if no drowable (either default, hardcoded or dynData, then apply color to background
|
||||||
view.setBackgroundColor(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key, TRANSPARENT), Color.TRANSPARENT))
|
view.setBackgroundColor(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key, TRANSPARENT), Color.TRANSPARENT))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -556,12 +566,12 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
viewJson?.let { viewJson ->
|
viewJson?.let { viewJson ->
|
||||||
(dynData?.getDrawable() ?: textDrawable())?.let {
|
(dynData?.getDrawable() ?: textDrawable())?.let {
|
||||||
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // Note only works on bitmap (png or jpg) not for svg files
|
if (viewJson.has(COLOR.key) || (dynData?.stepColor ?: 0) > 0) // Note only works on bitmap (png or jpg) not for svg files
|
||||||
it.colorFilter = cwf.changeDrawableColor(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
it.colorFilter = cwf.changeDrawableColor(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key)))
|
||||||
else
|
else
|
||||||
it.clearColorFilter()
|
it.clearColorFilter()
|
||||||
view.background = it
|
view.background = it
|
||||||
} ?: apply { // if no drowable loaded, then apply color to background
|
} ?: apply { // if no drowable loaded, then apply color to background
|
||||||
view.setBackgroundColor(dynData?.getColor() ?: cwf.getColor(viewJson.optString(COLOR.key, TRANSPARENT), Color.TRANSPARENT))
|
view.setBackgroundColor(dynData?.getColorStep() ?: cwf.getColor(viewJson.optString(COLOR.key, TRANSPARENT), Color.TRANSPARENT))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -586,6 +596,7 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
it.arrowCustom = null
|
it.arrowCustom = null
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun drawable() = values().firstOrNull { it.symbol == it.cwf.singleBg.slopeArrow }?.arrowCustom ?: NONE.arrowCustom
|
fun drawable() = values().firstOrNull { it.symbol == it.cwf.singleBg.slopeArrow }?.arrowCustom ?: NONE.arrowCustom
|
||||||
fun value() = values().firstOrNull { it.symbol == it.cwf.singleBg.slopeArrow }?.dynValue ?: NONE.dynValue
|
fun value() = values().firstOrNull { it.symbol == it.cwf.singleBg.slopeArrow }?.dynValue ?: NONE.dynValue
|
||||||
}
|
}
|
||||||
|
@ -673,12 +684,15 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
SHOW_BGI(CwfMetadataKey.CWF_PREF_WATCH_SHOW_BGI.key, R.string.key_show_bgi, true),
|
SHOW_BGI(CwfMetadataKey.CWF_PREF_WATCH_SHOW_BGI.key, R.string.key_show_bgi, true),
|
||||||
SHOW_LOOP_STATUS(CwfMetadataKey.CWF_PREF_WATCH_SHOW_LOOP_STATUS.key, R.string.key_show_external_status, true),
|
SHOW_LOOP_STATUS(CwfMetadataKey.CWF_PREF_WATCH_SHOW_LOOP_STATUS.key, R.string.key_show_external_status, true),
|
||||||
SHOW_WEEK_NUMBER(CwfMetadataKey.CWF_PREF_WATCH_SHOW_WEEK_NUMBER.key, R.string.key_show_week_number, true),
|
SHOW_WEEK_NUMBER(CwfMetadataKey.CWF_PREF_WATCH_SHOW_WEEK_NUMBER.key, R.string.key_show_week_number, true),
|
||||||
|
SHOW_DATE(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DATE.key, R.string.key_show_date, true),
|
||||||
PREF_UNITS(JsonKeyValues.PREF_UNITS.key, R.string.key_units_mgdl, true),
|
PREF_UNITS(JsonKeyValues.PREF_UNITS.key, R.string.key_units_mgdl, true),
|
||||||
PREF_DARK(JsonKeyValues.PREF_DARK.key, R.string.key_dark, true),
|
PREF_DARK(JsonKeyValues.PREF_DARK.key, R.string.key_dark, true),
|
||||||
PREF_MATCH_DIVIDER(JsonKeyValues.PREF_MATCH_DIVIDER.key, R.string.key_match_divider, true);
|
PREF_MATCH_DIVIDER(JsonKeyValues.PREF_MATCH_DIVIDER.key, R.string.key_match_divider, true);
|
||||||
|
|
||||||
var value: String = ""
|
var value: String = ""
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
fun fromKey(key: String) = PrefMap.values().firstOrNull { it.key == key }
|
fun fromKey(key: String) = PrefMap.values().firstOrNull { it.key == key }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -727,16 +741,28 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
private val dynDrawable = mutableMapOf<Int, Drawable?>()
|
private val dynDrawable = mutableMapOf<Int, Drawable?>()
|
||||||
private val dynColor = mutableMapOf<Int, Int>()
|
private val dynColor = mutableMapOf<Int, Int>()
|
||||||
private val dynFontColor = mutableMapOf<Int, Int>()
|
private val dynFontColor = mutableMapOf<Int, Int>()
|
||||||
|
private val dynTextSize = mutableMapOf<Int, Int>()
|
||||||
|
private val dynLeftOffset = mutableMapOf<Int, Int>()
|
||||||
|
private val dynTopOffset = mutableMapOf<Int, Int>()
|
||||||
|
private val dynRotationOffset = mutableMapOf<Int, Int>()
|
||||||
private var dataRange: DataRange? = null
|
private var dataRange: DataRange? = null
|
||||||
private var topRange: DataRange? = null
|
private var topRange: DataRange? = null
|
||||||
private var leftRange: DataRange? = null
|
private var leftRange: DataRange? = null
|
||||||
private var rotationRange: DataRange? = null
|
private var rotationRange: DataRange? = null
|
||||||
val stepDraw: Int
|
val stepDraw: Int
|
||||||
get() = dynDrawable[0]?.let { dynDrawable.size - 1 } ?: dynDrawable.size
|
get() = dynDrawable.size - 1
|
||||||
val stepColor: Int
|
val stepColor: Int
|
||||||
get() = dynColor[0]?.let { dynColor.size - 1 } ?: dynColor.size
|
get() = dynColor[0]?.let { dynColor.size - 1 } ?: dynColor.size
|
||||||
val stepFontColor: Int
|
val stepFontColor: Int
|
||||||
get() = dynFontColor[0]?.let { dynFontColor.size - 1 } ?: dynFontColor.size
|
get() = dynFontColor[0]?.let { dynFontColor.size - 1 } ?: dynFontColor.size
|
||||||
|
val stepTextSize: Int
|
||||||
|
get() = dynTextSize[0]?.let { dynTextSize.size - 1 } ?: dynTextSize.size
|
||||||
|
val stepLeftOffset: Int
|
||||||
|
get() = dynLeftOffset[0]?.let { dynLeftOffset.size - 1 } ?: dynLeftOffset.size
|
||||||
|
val stepTopOffset: Int
|
||||||
|
get() = dynTopOffset[0]?.let { dynTopOffset.size - 1 } ?: dynTopOffset.size
|
||||||
|
val stepRotationOffset: Int
|
||||||
|
get() = dynRotationOffset[0]?.let { dynRotationOffset.size - 1 } ?: dynRotationOffset.size
|
||||||
|
|
||||||
val dataValue: Double?
|
val dataValue: Double?
|
||||||
get() = when (valueMap) {
|
get() = when (valueMap) {
|
||||||
|
@ -756,14 +782,32 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
ValueMap.WEEKNUMBER -> DateTime().weekOfWeekyear.toDouble()
|
ValueMap.WEEKNUMBER -> DateTime().weekOfWeekyear.toDouble()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getTopOffset(): Int = dataRange?.let { dataRange -> topRange?.let { topRange -> dataValue?.let { (valueMap.dynValue(it, dataRange, topRange) * cwf.zoomFactor).toInt() }
|
fun getTopOffset(): Int = dataRange?.let { dataRange ->
|
||||||
?: (topRange.invalidData * cwf.zoomFactor).toInt() } } ?: 0
|
topRange?.let { topRange ->
|
||||||
fun getLeftOffset(): Int = dataRange?.let { dataRange -> leftRange?.let { leftRange -> dataValue?.let { (valueMap.dynValue(it, dataRange, leftRange) * cwf.zoomFactor).toInt() }
|
dataValue?.let { (valueMap.dynValue(it, dataRange, topRange) * cwf.zoomFactor).toInt() }
|
||||||
?: (leftRange.invalidData * cwf.zoomFactor).toInt() } } ?: 0
|
?: (topRange.invalidData * cwf.zoomFactor).toInt()
|
||||||
|
}
|
||||||
|
} ?: 0
|
||||||
|
|
||||||
|
fun getLeftOffset(): Int = dataRange?.let { dataRange ->
|
||||||
|
leftRange?.let { leftRange ->
|
||||||
|
dataValue?.let { (valueMap.dynValue(it, dataRange, leftRange) * cwf.zoomFactor).toInt() }
|
||||||
|
?: (leftRange.invalidData * cwf.zoomFactor).toInt()
|
||||||
|
}
|
||||||
|
} ?: 0
|
||||||
|
|
||||||
fun getRotationOffset(): Int = dataRange?.let { dataRange -> rotationRange?.let { rotRange -> dataValue?.let { valueMap.dynValue(it, dataRange, rotRange) } ?: rotRange.invalidData } } ?: 0
|
fun getRotationOffset(): Int = dataRange?.let { dataRange -> rotationRange?.let { rotRange -> dataValue?.let { valueMap.dynValue(it, dataRange, rotRange) } ?: rotRange.invalidData } } ?: 0
|
||||||
fun getDrawable() = dataRange?.let { dataRange -> dataValue?.let { dynDrawable[valueMap.stepValue(it, dataRange, stepDraw)] } ?: dynDrawable[0] ?: dynDrawable[1] }
|
fun getDrawable() = dataRange?.let { dataRange -> dataValue?.let { dynDrawable[valueMap.stepValue(it, dataRange, stepDraw)] } ?: dynDrawable[0] }
|
||||||
fun getFontColor() = if (stepFontColor > 0) dataRange?.let { dataRange -> dataValue?.let { dynFontColor[valueMap.stepValue(it, dataRange, stepFontColor)] } ?: dynFontColor[0] ?: dynFontColor[1] } else null
|
fun getFontColorStep() = getIntValue(dynFontColor, stepFontColor)
|
||||||
fun getColor() = if (stepColor > 0) dataRange?.let { dataRange -> dataValue?.let { dynColor[valueMap.stepValue(it, dataRange, stepColor)] } ?: dynColor[0] ?: dynColor[1] } else null
|
fun getTextSizeStep() = getIntValue(dynTextSize, stepTextSize)
|
||||||
|
fun getColorStep() = getIntValue(dynColor, stepColor)
|
||||||
|
fun getTopOffsetStep() = getIntValue(dynTopOffset, stepTopOffset)
|
||||||
|
fun getLeftOffsetStep() = getIntValue(dynLeftOffset, stepLeftOffset)
|
||||||
|
fun getRotationOffsetStep() = getIntValue(dynRotationOffset, stepRotationOffset)
|
||||||
|
|
||||||
|
private fun getIntValue(dynMap: MutableMap<Int, Int>, step: Int) =
|
||||||
|
if (step > 0) dataRange?.let { dataRange -> dataValue?.let { dynMap[valueMap.stepValue(it, dataRange, step)] } ?: dynMap[0] ?: dynMap[1] } else null
|
||||||
|
|
||||||
private fun load() {
|
private fun load() {
|
||||||
DataRange(dataJson.optDouble(MINDATA.key, valueMap.min), dataJson.optDouble(MAXDATA.key, valueMap.max)).let { defaultRange ->
|
DataRange(dataJson.optDouble(MINDATA.key, valueMap.min), dataJson.optDouble(MAXDATA.key, valueMap.max)).let { defaultRange ->
|
||||||
dataRange = defaultRange
|
dataRange = defaultRange
|
||||||
|
@ -771,30 +815,56 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
leftRange = parseDataRange(dataJson.optJSONObject(LEFTOFFSET.key), defaultRange)
|
leftRange = parseDataRange(dataJson.optJSONObject(LEFTOFFSET.key), defaultRange)
|
||||||
rotationRange = parseDataRange(dataJson.optJSONObject(ROTATIONOFFSET.key), defaultRange)
|
rotationRange = parseDataRange(dataJson.optJSONObject(ROTATIONOFFSET.key), defaultRange)
|
||||||
}
|
}
|
||||||
if (dataJson.has(INVALIDIMAGE.key))
|
getDrawableSteps(dynDrawable, IMAGE.key, INVALIDIMAGE.key)
|
||||||
dynDrawable[0] = dataJson.optString(INVALIDIMAGE.key)?.let { cwf.resDataMap[it]?.toDrawable(cwf.resources, width, height) }
|
getColorSteps(dynColor, COLOR.key, INVALIDCOLOR.key)
|
||||||
|
getColorSteps(dynFontColor, FONTCOLOR.key, INVALIDFONTCOLOR.key)
|
||||||
|
getIntSteps(dynTextSize, TEXTSIZE.key, INVALIDTEXTSIZE.key)
|
||||||
|
getIntSteps(dynLeftOffset, LEFTOFFSET.key, INVALIDTEXTSIZE.key)
|
||||||
|
getIntSteps(dynTopOffset, TOPOFFSET.key, INVALIDTEXTSIZE.key)
|
||||||
|
getIntSteps(dynRotationOffset, ROTATIONOFFSET.key, INVALIDTEXTSIZE.key)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getDrawableSteps(dynMap: MutableMap<Int, Drawable?>, key: String, invalidKey: String) {
|
||||||
|
if (dataJson.has(invalidKey))
|
||||||
|
dynMap[0] = dataJson.optString(invalidKey)?.let { cwf.resDataMap[it]?.toDrawable(cwf.resources, width, height) }
|
||||||
var idx = 1
|
var idx = 1
|
||||||
while (dataJson.has("${IMAGE.key}$idx")) {
|
while (dataJson.has("${key}$idx")) {
|
||||||
cwf.resDataMap[dataJson.optString("${IMAGE.key}$idx")]?.toDrawable(cwf.resources, width, height).also { dynDrawable[idx] = it }
|
cwf.resDataMap[dataJson.optString("${key}$idx")]?.toDrawable(cwf.resources, width, height).also { dynMap[idx] = it }
|
||||||
idx++
|
|
||||||
}
|
|
||||||
if (dataJson.has(INVALIDCOLOR.key))
|
|
||||||
dynColor[0] = cwf.getColor(dataJson.optString(INVALIDCOLOR.key))
|
|
||||||
idx = 1
|
|
||||||
while (dataJson.has("${COLOR.key}$idx")) {
|
|
||||||
dynColor[idx] = cwf.getColor(dataJson.optString("${COLOR.key}$idx"))
|
|
||||||
idx++
|
|
||||||
}
|
|
||||||
if (dataJson.has(INVALIDFONTCOLOR.key))
|
|
||||||
dynFontColor[0] = cwf.getColor(dataJson.optString(INVALIDFONTCOLOR.key))
|
|
||||||
idx = 1
|
|
||||||
while (dataJson.has("${FONTCOLOR.key}$idx")) {
|
|
||||||
dynFontColor[idx] = cwf.getColor(dataJson.optString("${FONTCOLOR.key}$idx"))
|
|
||||||
idx++
|
idx++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getColorSteps(dynMap: MutableMap<Int, Int>, key: String, invalidKey: String) {
|
||||||
|
if (dataJson.has(invalidKey))
|
||||||
|
dynMap[0] = cwf.getColor(dataJson.optString(invalidKey))
|
||||||
|
var idx = 1
|
||||||
|
while (dataJson.has("${key}$idx")) {
|
||||||
|
dynMap[idx] = cwf.getColor(dataJson.optString("${key}$idx"))
|
||||||
|
idx++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getIntSteps(dynMap: MutableMap<Int, Int>, key: String, invalidKey: String) {
|
||||||
|
if (dataJson.has(invalidKey))
|
||||||
|
dynMap[0] = dataJson.optInt(invalidKey)
|
||||||
|
var idx = 1
|
||||||
|
while (dataJson.has("${key}$idx")) {
|
||||||
|
dynMap[idx] = dataJson.optInt("${key}$idx", 22)
|
||||||
|
idx++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun parseDataRange(json: JSONObject?, defaultData: DataRange) =
|
||||||
|
json?.let {
|
||||||
|
DataRange(
|
||||||
|
minData = it.optDouble(MINVALUE.key, defaultData.minData),
|
||||||
|
maxData = it.optDouble(MAXVALUE.key, defaultData.maxData),
|
||||||
|
invalidData = it.optInt(INVALIDVALUE.key, defaultData.invalidData)
|
||||||
|
)
|
||||||
|
} ?: defaultData
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
val dynData = mutableMapOf<String, DynProvider>()
|
val dynData = mutableMapOf<String, DynProvider>()
|
||||||
var dynJson: JSONObject? = null
|
var dynJson: JSONObject? = null
|
||||||
fun init(cwf: CustomWatchface, json: JSONObject?) {
|
fun init(cwf: CustomWatchface, json: JSONObject?) {
|
||||||
|
@ -824,19 +894,10 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
|
|
||||||
return dynData[defaultViewKey]
|
return dynData[defaultViewKey]
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parseDataRange(json: JSONObject?, defaultData: DataRange) =
|
|
||||||
json?.let {
|
|
||||||
DataRange(
|
|
||||||
minData = it.optDouble(MINVALUE.key, defaultData.minData),
|
|
||||||
maxData = it.optDouble(MAXVALUE.key, defaultData.maxData),
|
|
||||||
invalidData = it.optInt(INVALIDVALUE.key, defaultData.invalidData)
|
|
||||||
)
|
|
||||||
} ?: defaultData
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class DataRange (val minData: Double, val maxData: Double, val invalidData: Int = 0)
|
private class DataRange(val minData: Double, val maxData: Double, val invalidData: Int = 0)
|
||||||
|
|
||||||
// block below build a map of prefKey => json Bloc recursively
|
// block below build a map of prefKey => json Bloc recursively
|
||||||
val dynPref = mutableMapOf<String, JSONObject>()
|
val dynPref = mutableMapOf<String, JSONObject>()
|
||||||
|
@ -845,11 +906,12 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
valPref.clear()
|
valPref.clear()
|
||||||
dynPref.clear()
|
dynPref.clear()
|
||||||
dynJson?.keys()?.forEach { key ->
|
dynJson?.keys()?.forEach { key ->
|
||||||
dynJson.optJSONObject(key)?.let { buildDynPrefs(dynJson, it, key, mutableSetOf()) }
|
val targetJson = JSONObject()
|
||||||
|
dynJson.optJSONObject(key)?.let { buildDynPrefs(dynJson, targetJson, it, key, mutableSetOf()) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun buildDynPrefs(dynJson: JSONObject, json: JSONObject, key: String, visitedKeys: MutableSet<String>) {
|
private fun buildDynPrefs(dynJson: JSONObject, targetJson: JSONObject, json: JSONObject, key: String, visitedKeys: MutableSet<String>) {
|
||||||
val prefKey = json.optString(PREFKEY.key)
|
val prefKey = json.optString(PREFKEY.key)
|
||||||
PrefMap.fromKey(prefKey)?.let { prefMap ->
|
PrefMap.fromKey(prefKey)?.let { prefMap ->
|
||||||
val value = valPref[prefMap.key]
|
val value = valPref[prefMap.key]
|
||||||
|
@ -858,16 +920,23 @@ class CustomWatchface : BaseWatchFace() {
|
||||||
}
|
}
|
||||||
json.optJSONObject(value)?.let { nextJson ->
|
json.optJSONObject(value)?.let { nextJson ->
|
||||||
if (nextJson.has(DYNPREF.key)) {
|
if (nextJson.has(DYNPREF.key)) {
|
||||||
|
nextJson.keys().forEach { key ->
|
||||||
|
if (key != DYNPREF.key)
|
||||||
|
targetJson.putOpt(key, nextJson.opt(key))
|
||||||
|
}
|
||||||
val nextKey = nextJson.optString(DYNPREF.key)
|
val nextKey = nextJson.optString(DYNPREF.key)
|
||||||
if (nextKey.isNotEmpty() && nextKey !in visitedKeys) {
|
if (nextKey.isNotEmpty() && nextKey !in visitedKeys) {
|
||||||
visitedKeys += nextKey
|
visitedKeys += nextKey
|
||||||
dynJson.optJSONObject(nextKey)?.let {
|
dynJson.optJSONObject(nextKey)?.let {
|
||||||
buildDynPrefs(dynJson, it, key, visitedKeys)
|
buildDynPrefs(dynJson, targetJson, it, key, visitedKeys)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//aapsLogger.debug("XXXXX dynKey json $key $nextJson")
|
nextJson.keys().forEach { key ->
|
||||||
dynPref[key] = nextJson
|
if (key != DYNPREF.key)
|
||||||
|
targetJson.putOpt(key, nextJson.opt(key))
|
||||||
|
}
|
||||||
|
dynPref[key] = targetJson
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,6 @@ import androidx.viewbinding.ViewBinding
|
||||||
import app.aaps.wear.databinding.ActivityBigchartBinding
|
import app.aaps.wear.databinding.ActivityBigchartBinding
|
||||||
import app.aaps.wear.databinding.ActivityCustomBinding
|
import app.aaps.wear.databinding.ActivityCustomBinding
|
||||||
import app.aaps.wear.databinding.ActivityDigitalstyleBinding
|
import app.aaps.wear.databinding.ActivityDigitalstyleBinding
|
||||||
import app.aaps.wear.databinding.ActivityHome2Binding
|
|
||||||
import app.aaps.wear.databinding.ActivityHomeBinding
|
|
||||||
import app.aaps.wear.databinding.ActivityHomeLargeBinding
|
import app.aaps.wear.databinding.ActivityHomeLargeBinding
|
||||||
import app.aaps.wear.databinding.ActivityNochartBinding
|
import app.aaps.wear.databinding.ActivityNochartBinding
|
||||||
|
|
||||||
|
@ -15,8 +13,6 @@ import app.aaps.wear.databinding.ActivityNochartBinding
|
||||||
*/
|
*/
|
||||||
class WatchfaceViewAdapter(
|
class WatchfaceViewAdapter(
|
||||||
aL: ActivityHomeLargeBinding? = null,
|
aL: ActivityHomeLargeBinding? = null,
|
||||||
a2: ActivityHome2Binding? = null,
|
|
||||||
aa: ActivityHomeBinding? = null,
|
|
||||||
bC: ActivityBigchartBinding? = null,
|
bC: ActivityBigchartBinding? = null,
|
||||||
ds: ActivityDigitalstyleBinding? = null,
|
ds: ActivityDigitalstyleBinding? = null,
|
||||||
nC: ActivityNochartBinding? = null,
|
nC: ActivityNochartBinding? = null,
|
||||||
|
@ -24,7 +20,7 @@ class WatchfaceViewAdapter(
|
||||||
) {
|
) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
if (aL == null && a2 == null && aa == null && bC == null && ds == null && nC == null && cU == null) {
|
if (aL == null && bC == null && ds == null && nC == null && cU == null) {
|
||||||
throw IllegalArgumentException("Require at least on Binding parameter")
|
throw IllegalArgumentException("Require at least on Binding parameter")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,47 +29,46 @@ class WatchfaceViewAdapter(
|
||||||
|
|
||||||
// Required attributes
|
// Required attributes
|
||||||
val mainLayout =
|
val mainLayout =
|
||||||
aL?.mainLayout ?: a2?.mainLayout ?: aa?.mainLayout ?: bC?.mainLayout ?: bC?.mainLayout ?: ds?.mainLayout ?: nC?.mainLayout ?: cU?.mainLayout
|
aL?.mainLayout ?: bC?.mainLayout ?: bC?.mainLayout ?: ds?.mainLayout ?: nC?.mainLayout ?: cU?.mainLayout
|
||||||
?: throw IllegalArgumentException(errorMessage)
|
?: throw IllegalArgumentException(errorMessage)
|
||||||
val timestamp =
|
val timestamp =
|
||||||
aL?.timestamp ?: a2?.timestamp ?: aa?.timestamp ?: bC?.timestamp ?: bC?.timestamp ?: ds?.timestamp ?: nC?.timestamp ?: cU?.timestamp
|
aL?.timestamp ?: bC?.timestamp ?: bC?.timestamp ?: ds?.timestamp ?: nC?.timestamp ?: cU?.timestamp
|
||||||
?: throw IllegalArgumentException(errorMessage)
|
?: throw IllegalArgumentException(errorMessage)
|
||||||
val root =
|
val root =
|
||||||
aL?.root ?: a2?.root ?: aa?.root ?: bC?.root ?: bC?.root ?: ds?.root ?: nC?.root ?: cU?.root
|
aL?.root ?: bC?.root ?: bC?.root ?: ds?.root ?: nC?.root ?: cU?.root
|
||||||
?: throw IllegalArgumentException(errorMessage)
|
?: throw IllegalArgumentException(errorMessage)
|
||||||
|
|
||||||
// Optional attributes
|
// Optional attributes
|
||||||
val sgv = aL?.sgv ?: a2?.sgv ?: aa?.sgv ?: bC?.sgv ?: bC?.sgv ?: ds?.sgv ?: nC?.sgv ?: cU?.sgv
|
val sgv = aL?.sgv ?: bC?.sgv ?: bC?.sgv ?: ds?.sgv ?: nC?.sgv ?: cU?.sgv
|
||||||
val direction = aL?.direction ?: a2?.direction ?: aa?.direction ?: ds?.direction
|
val direction = aL?.direction ?: ds?.direction
|
||||||
val loop = a2?.loop ?: cU?.loop
|
val loop = cU?.loop
|
||||||
val delta = aL?.delta ?: a2?.delta ?: aa?.delta ?: bC?.delta ?: bC?.delta ?: ds?.delta ?: nC?.delta ?: cU?.delta
|
val delta = aL?.delta ?: bC?.delta ?: bC?.delta ?: ds?.delta ?: nC?.delta ?: cU?.delta
|
||||||
val avgDelta = a2?.avgDelta ?: bC?.avgDelta ?: bC?.avgDelta ?: ds?.avgDelta ?: nC?.avgDelta ?: cU?.avgDelta
|
val avgDelta = bC?.avgDelta ?: bC?.avgDelta ?: ds?.avgDelta ?: nC?.avgDelta ?: cU?.avgDelta
|
||||||
val uploaderBattery = aL?.uploaderBattery ?: a2?.uploaderBattery ?: aa?.uploaderBattery ?: ds?.uploaderBattery ?: cU?.uploaderBattery
|
val uploaderBattery = aL?.uploaderBattery ?: ds?.uploaderBattery ?: cU?.uploaderBattery
|
||||||
val rigBattery = a2?.rigBattery ?: ds?.rigBattery ?: cU?.rigBattery
|
val rigBattery = ds?.rigBattery ?: cU?.rigBattery
|
||||||
val basalRate = a2?.basalRate ?: ds?.basalRate ?: cU?.basalRate
|
val basalRate = ds?.basalRate ?: cU?.basalRate
|
||||||
val bgi = a2?.bgi ?: ds?.bgi ?: cU?.bgi
|
val bgi = ds?.bgi ?: cU?.bgi
|
||||||
val AAPSv2 = a2?.AAPSv2 ?: ds?.AAPSv2 ?: cU?.AAPSv2
|
val AAPSv2 = ds?.AAPSv2 ?: cU?.AAPSv2
|
||||||
val cob1 = a2?.cob1 ?: ds?.cob1 ?: cU?.cob1
|
val cob1 = ds?.cob1 ?: cU?.cob1
|
||||||
val cob2 = a2?.cob2 ?: ds?.cob2 ?: cU?.cob2
|
val cob2 = ds?.cob2 ?: cU?.cob2
|
||||||
val time = aL?.time ?: a2?.time ?: aa?.time ?: bC?.time ?: bC?.time ?: nC?.time ?: cU?.time
|
val time = aL?.time ?: bC?.time ?: bC?.time ?: nC?.time ?: cU?.time
|
||||||
val second = cU?.second
|
val second = cU?.second
|
||||||
val minute = ds?.minute ?: cU?.minute
|
val minute = ds?.minute ?: cU?.minute
|
||||||
val hour = ds?.hour ?: cU?.hour
|
val hour = ds?.hour ?: cU?.hour
|
||||||
val day = a2?.day ?: ds?.day ?: cU?.day
|
val day = ds?.day ?: cU?.day
|
||||||
val month = a2?.month ?: ds?.month ?: cU?.month
|
val month = ds?.month ?: cU?.month
|
||||||
val iob1 = a2?.iob1 ?: ds?.iob1 ?: cU?.iob1
|
val iob1 = ds?.iob1 ?: cU?.iob1
|
||||||
val iob2 = a2?.iob2 ?: ds?.iob2 ?: cU?.iob2
|
val iob2 = ds?.iob2 ?: cU?.iob2
|
||||||
val chart = a2?.chart ?: aa?.chart ?: bC?.chart ?: bC?.chart ?: ds?.chart ?: cU?.chart
|
val chart = bC?.chart ?: bC?.chart ?: ds?.chart ?: cU?.chart
|
||||||
val status = aL?.status ?: aa?.status ?: bC?.status ?: bC?.status ?: nC?.status
|
val status = aL?.status ?: bC?.status ?: bC?.status ?: nC?.status
|
||||||
val timePeriod = ds?.timePeriod ?: aL?.timePeriod ?: nC?.timePeriod ?: bC?.timePeriod ?: cU?.timePeriod
|
val timePeriod = ds?.timePeriod ?: aL?.timePeriod ?: nC?.timePeriod ?: bC?.timePeriod ?: cU?.timePeriod
|
||||||
val dayName = ds?.dayName ?: cU?.dayName
|
val dayName = ds?.dayName ?: cU?.dayName
|
||||||
val mainMenuTap = ds?.mainMenuTap
|
val mainMenuTap = ds?.mainMenuTap
|
||||||
val chartZoomTap = ds?.chartZoomTap
|
val chartZoomTap = ds?.chartZoomTap
|
||||||
val dateTime = ds?.dateTime ?: a2?.dateTime
|
val dateTime = ds?.dateTime
|
||||||
val weekNumber = ds?.weekNumber ?: cU?.weekNumber
|
val weekNumber = ds?.weekNumber ?: cU?.weekNumber
|
||||||
// val minuteHand = cU?.minuteHand
|
// val minuteHand = cU?.minuteHand
|
||||||
// val secondaryLayout = aL?.secondaryLayout ?: a2?.secondaryLayout ?: aa?.secondaryLayout ?: ds?.secondaryLayout
|
// val secondaryLayout = aL?.secondaryLayout ?: ds?.secondaryLayout
|
||||||
// val tertiaryLayout = a2?.tertiaryLayout
|
|
||||||
// val hourHand = cU?.hourHand
|
// val hourHand = cU?.hourHand
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -81,12 +76,10 @@ class WatchfaceViewAdapter(
|
||||||
fun getBinding(bindLayout: ViewBinding): WatchfaceViewAdapter {
|
fun getBinding(bindLayout: ViewBinding): WatchfaceViewAdapter {
|
||||||
return when (bindLayout) {
|
return when (bindLayout) {
|
||||||
is ActivityHomeLargeBinding -> WatchfaceViewAdapter(bindLayout)
|
is ActivityHomeLargeBinding -> WatchfaceViewAdapter(bindLayout)
|
||||||
is ActivityHome2Binding -> WatchfaceViewAdapter(null, bindLayout)
|
is ActivityBigchartBinding -> WatchfaceViewAdapter(null, bindLayout)
|
||||||
is ActivityHomeBinding -> WatchfaceViewAdapter(null, null, bindLayout)
|
is ActivityDigitalstyleBinding -> WatchfaceViewAdapter(null, null, bindLayout)
|
||||||
is ActivityBigchartBinding -> WatchfaceViewAdapter(null, null, null, bindLayout)
|
is ActivityNochartBinding -> WatchfaceViewAdapter(null, null, null, bindLayout)
|
||||||
is ActivityDigitalstyleBinding -> WatchfaceViewAdapter(null, null, null, null, bindLayout)
|
is ActivityCustomBinding -> WatchfaceViewAdapter(null, null, null, null, bindLayout)
|
||||||
is ActivityNochartBinding -> WatchfaceViewAdapter(null, null, null, null, null, bindLayout)
|
|
||||||
is ActivityCustomBinding -> WatchfaceViewAdapter(null, null, null, null, null, null, bindLayout)
|
|
||||||
else -> throw IllegalArgumentException("ViewBinding is not implement in WatchfaceViewAdapter")
|
else -> throw IllegalArgumentException("ViewBinding is not implement in WatchfaceViewAdapter")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 14 KiB |
Binary file not shown.
Before Width: | Height: | Size: 475 KiB |
|
@ -1,135 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:id="@+id/main_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context=".watchfaces.AapsWatchface">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/linearLayout"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/secondary_layout"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/sgv"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="5dp"
|
|
||||||
android:gravity="bottom"
|
|
||||||
android:textSize="41sp"
|
|
||||||
tools:text="---" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/direction"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:textSize="25sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="--" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/delta"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="1" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/secondary_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:background="?android:colorForeground"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:paddingVertical="1dp"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/time">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/timestamp"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@string/time_stamp_na_min_ago" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/uploader_battery"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="10sp"
|
|
||||||
android:paddingEnd="0sp"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@string/uploader_na" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/raw"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="10sp"
|
|
||||||
android:paddingEnd="0sp"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/status"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="10sp"
|
|
||||||
android:paddingEnd="0sp"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@string/no_status" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/time"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal|top"
|
|
||||||
android:textAlignment="center"
|
|
||||||
|
|
||||||
android:textSize="35sp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:text="12:00" />
|
|
||||||
|
|
||||||
<lecho.lib.hellocharts.view.LineChartView
|
|
||||||
android:id="@+id/chart"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_marginTop="-5dp"
|
|
||||||
android:paddingBottom="7dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/time" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
@ -1,285 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:id="@+id/main_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="vertical"
|
|
||||||
tools:context=".watchfaces.AapsV2Watchface">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/primary_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="5dp"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/secondary_layout"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/loop"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="bottom"
|
|
||||||
android:background="@drawable/loop_grey_25"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="--'" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/sgv"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity=""
|
|
||||||
android:layout_marginBottom="-2dp"
|
|
||||||
android:paddingHorizontal="5dp"
|
|
||||||
android:textSize="38sp"
|
|
||||||
tools:text="---" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/direction"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textSize="22sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="--" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/timestamp"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="--'" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/secondary_layout"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="?android:colorForeground"
|
|
||||||
android:paddingVertical="1dp"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/tertiary_layout"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingHorizontal="5dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/delta"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="+/-" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/avg_delta"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@string/abbreviation_average" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/uploader_battery"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="--%" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/rig_battery"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:visibility="visible"
|
|
||||||
tools:text="--%" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/basalRate"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1.7"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@string/no_tmp_basal_u_h" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/bgi"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textColor="?android:textColorPrimaryInverse"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:visibility="visible"
|
|
||||||
tools:text="bgi" />
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:id="@+id/AAPSv2"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/tertiary_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:weightSum="7"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:gravity="center"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/cob1"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/activity_carb"
|
|
||||||
android:textSize="11sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/cob2"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/no_cob_g"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_weight="1"
|
|
||||||
tools:ignore="NestedWeights" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/time"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textSize="30sp"
|
|
||||||
tools:text="12:00" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/date_time"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:gravity="center"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:visibility="gone">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/day"
|
|
||||||
android:layout_width="23dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:text="day" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/month"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:text="mth" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:gravity="center"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:textAlignment="center">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/iob1"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textSize="11sp"
|
|
||||||
tools:text="@string/activity_IOB" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/iob2"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@string/no_iob_u" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<lecho.lib.hellocharts.view.LineChartView
|
|
||||||
android:id="@+id/chart"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_marginTop="-5dp"
|
|
||||||
android:layout_marginBottom="7dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tertiary_layout" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(голям)</string>
|
<string name="label_watchface_large">AAPS(голям)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(Графика)</string>
|
<string name="label_watchface_big_chart">AAPS(Графика)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(без Графика)</string>
|
<string name="label_watchface_no_chart">AAPS(без Графика)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Кръгъл)</string>
|
<string name="label_watchface_circle">AAPS(Кръгъл)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS (DigitalStyle)</string>
|
<string name="label_watchface_digital_style">AAPS (DigitalStyle)</string>
|
||||||
<string name="label_watchface_custom">AAPS(Персонализиран)</string>
|
<string name="label_watchface_custom">AAPS(Персонализиран)</string>
|
||||||
<string name="label_actions_tile">AAPS(Действия)</string>
|
<string name="label_actions_tile">AAPS(Действия)</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(Gros)</string>
|
<string name="label_watchface_large">AAPS(Gros)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(GrafGrossa)</string>
|
<string name="label_watchface_big_chart">AAPS(GrafGrossa)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(NoGraf)</string>
|
<string name="label_watchface_no_chart">AAPS(NoGraf)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(velký)</string>
|
<string name="label_watchface_large">AAPS(velký)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(VelkýGraf)</string>
|
<string name="label_watchface_big_chart">AAPS(VelkýGraf)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(BezGrafu)</string>
|
<string name="label_watchface_no_chart">AAPS(BezGrafu)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Kruhový)</string>
|
<string name="label_watchface_circle">AAPS(Kruhový)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS (DigitalStyle)</string>
|
<string name="label_watchface_digital_style">AAPS (DigitalStyle)</string>
|
||||||
<string name="label_watchface_custom">AAPS (vlastní)</string>
|
<string name="label_watchface_custom">AAPS (vlastní)</string>
|
||||||
<string name="label_actions_tile">AAPS(Akce)</string>
|
<string name="label_actions_tile">AAPS(Akce)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS (Stor)</string>
|
<string name="label_watchface_large">AAPS (Stor)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(StorGraf)</string>
|
<string name="label_watchface_big_chart">AAPS(StorGraf)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(IngenGraf)</string>
|
<string name="label_watchface_no_chart">AAPS(IngenGraf)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Cirkel)</string>
|
<string name="label_watchface_circle">AAPS(Cirkel)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS (DigitalStil)</string>
|
<string name="label_watchface_digital_style">AAPS (DigitalStil)</string>
|
||||||
<string name="label_watchface_custom">AAPS(Brugerdefineret)</string>
|
<string name="label_watchface_custom">AAPS(Brugerdefineret)</string>
|
||||||
<string name="label_actions_tile">AAPS (Handlinger)</string>
|
<string name="label_actions_tile">AAPS (Handlinger)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(groß)</string>
|
<string name="label_watchface_large">AAPS(groß)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(GroßerGraph)</string>
|
<string name="label_watchface_big_chart">AAPS(GroßerGraph)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(KeinGraph)</string>
|
<string name="label_watchface_no_chart">AAPS(KeinGraph)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Kreis)</string>
|
<string name="label_watchface_circle">AAPS(Kreis)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS(DigitalStyle)</string>
|
<string name="label_watchface_digital_style">AAPS(DigitalStyle)</string>
|
||||||
<string name="label_watchface_custom">AAPS(Custom)</string>
|
<string name="label_watchface_custom">AAPS(Custom)</string>
|
||||||
<string name="label_actions_tile">AAPS(Aktionen)</string>
|
<string name="label_actions_tile">AAPS(Aktionen)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(μεγάλο)</string>
|
<string name="label_watchface_large">AAPS(μεγάλο)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(μεγαλο_γράφημα)</string>
|
<string name="label_watchface_big_chart">AAPS(μεγαλο_γράφημα)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(χωρίς_γράφημα)</string>
|
<string name="label_watchface_no_chart">AAPS(χωρίς_γράφημα)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Κυκλικό)</string>
|
<string name="label_watchface_circle">AAPS(Κυκλικό)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS(ψηφιακό)</string>
|
<string name="label_watchface_digital_style">AAPS(ψηφιακό)</string>
|
||||||
<string name="label_watchface_custom">AAPS(προσαρμοσμένα_χαρακτηριστικά)</string>
|
<string name="label_watchface_custom">AAPS(προσαρμοσμένα_χαρακτηριστικά)</string>
|
||||||
<string name="label_actions_tile">AAPS( Ενέργειες)</string>
|
<string name="label_actions_tile">AAPS( Ενέργειες)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS (Grande)</string>
|
<string name="label_watchface_large">AAPS (Grande)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS (Aumentado)</string>
|
<string name="label_watchface_big_chart">AAPS (Aumentado)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS (SinGráfico)</string>
|
<string name="label_watchface_no_chart">AAPS (SinGráfico)</string>
|
||||||
<string name="label_watchface_circle">AAPS (Círculo)</string>
|
<string name="label_watchface_circle">AAPS (Círculo)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS (Digital)</string>
|
<string name="label_watchface_digital_style">AAPS (Digital)</string>
|
||||||
<string name="label_watchface_custom">AAPS(personalizado)</string>
|
<string name="label_watchface_custom">AAPS(personalizado)</string>
|
||||||
<string name="label_actions_tile">AAPS(Acciones)</string>
|
<string name="label_actions_tile">AAPS(Acciones)</string>
|
||||||
|
@ -37,7 +35,7 @@
|
||||||
<string name="pref_show_phone_battery">Mostrar batería del teléfono</string>
|
<string name="pref_show_phone_battery">Mostrar batería del teléfono</string>
|
||||||
<string name="pref_show_rig_battery">Mostrar batería de la plataforma</string>
|
<string name="pref_show_rig_battery">Mostrar batería de la plataforma</string>
|
||||||
<string name="pref_show_basal_rate">Mostrar la tasa basal</string>
|
<string name="pref_show_basal_rate">Mostrar la tasa basal</string>
|
||||||
<string name="pref_show_loop_status">Mostrar estado de bucle</string>
|
<string name="pref_show_loop_status">Mostrar estado del lazo</string>
|
||||||
<string name="pref_show_bg">Mostrar glucosa</string>
|
<string name="pref_show_bg">Mostrar glucosa</string>
|
||||||
<string name="pref_show_bgi">Mostrar BGI (Índice de glucosa en sangre)</string>
|
<string name="pref_show_bgi">Mostrar BGI (Índice de glucosa en sangre)</string>
|
||||||
<string name="pref_show_direction_arrow">Mostrar flecha de dirección</string>
|
<string name="pref_show_direction_arrow">Mostrar flecha de dirección</string>
|
||||||
|
@ -122,7 +120,7 @@
|
||||||
<string name="press_to_cancel">Presiona para cancelar</string>
|
<string name="press_to_cancel">Presiona para cancelar</string>
|
||||||
<string name="cancel_bolus">CANCELAR BOLO</string>
|
<string name="cancel_bolus">CANCELAR BOLO</string>
|
||||||
<string name="status_pump">Infusora</string>
|
<string name="status_pump">Infusora</string>
|
||||||
<string name="status_loop">Bucle</string>
|
<string name="status_loop">Lazo</string>
|
||||||
<string name="status_profile_switch">Cambio de perfil</string>
|
<string name="status_profile_switch">Cambio de perfil</string>
|
||||||
<string name="status_tdd">TDD</string>
|
<string name="status_tdd">TDD</string>
|
||||||
<string name="activity_carb">COB</string>
|
<string name="activity_carb">COB</string>
|
||||||
|
@ -190,7 +188,7 @@
|
||||||
<string name="no_status">S: --</string>
|
<string name="no_status">S: --</string>
|
||||||
<string name="time_stamp_na_min_ago">-- Hace min.</string>
|
<string name="time_stamp_na_min_ago">-- Hace min.</string>
|
||||||
<string name="delta_na">--- mg/dl</string>
|
<string name="delta_na">--- mg/dl</string>
|
||||||
<string name="no_loop_status">Sin estado del bucle</string>
|
<string name="no_loop_status">Sin estado del lazo</string>
|
||||||
<string name="cob_000g">000g</string>
|
<string name="cob_000g">000g</string>
|
||||||
<string name="svg_00_0" comment="use , or . only">00,0</string>
|
<string name="svg_00_0" comment="use , or . only">00,0</string>
|
||||||
<string name="iob_0_00u">0,00U</string>
|
<string name="iob_0_00u">0,00U</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS (Large)</string>
|
<string name="label_watchface_large">AAPS (Large)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS (GrandGraph)</string>
|
<string name="label_watchface_big_chart">AAPS (GrandGraph)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS (SansGraph)</string>
|
<string name="label_watchface_no_chart">AAPS (SansGraph)</string>
|
||||||
<string name="label_watchface_circle">AAPS (Cercle)</string>
|
<string name="label_watchface_circle">AAPS (Cercle)</string>
|
||||||
<string name="label_watchface_v2">AAPS (v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS (Digital)</string>
|
<string name="label_watchface_digital_style">AAPS (Digital)</string>
|
||||||
<string name="label_watchface_custom">AAPS(perso)</string>
|
<string name="label_watchface_custom">AAPS(perso)</string>
|
||||||
<string name="label_actions_tile">AAPS (Actions)</string>
|
<string name="label_actions_tile">AAPS (Actions)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(Veliki)</string>
|
<string name="label_watchface_large">AAPS(Veliki)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(Veliki Graf)</string>
|
<string name="label_watchface_big_chart">AAPS(Veliki Graf)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(Bez grafa)</string>
|
<string name="label_watchface_no_chart">AAPS(Bez grafa)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Kružni)</string>
|
<string name="label_watchface_circle">AAPS(Kružni)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="pref_low">Nisko</string>
|
<string name="pref_low">Nisko</string>
|
||||||
<string name="pref_high">Visoko</string>
|
<string name="pref_high">Visoko</string>
|
||||||
<string name="menu_wizard">Kalkulator</string>
|
<string name="menu_wizard">Kalkulator</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(Nagy)</string>
|
<string name="label_watchface_large">AAPS(Nagy)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(NagyGrafikon)</string>
|
<string name="label_watchface_big_chart">AAPS(NagyGrafikon)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(NincsGrafikon)</string>
|
<string name="label_watchface_no_chart">AAPS(NincsGrafikon)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(Large)</string>
|
<string name="label_watchface_large">AAPS(Large)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(BigChart)</string>
|
<string name="label_watchface_big_chart">AAPS(BigChart)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(NoChart)</string>
|
<string name="label_watchface_no_chart">AAPS(NoChart)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Circle)</string>
|
<string name="label_watchface_circle">AAPS(Circle)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS(DigitalStyle)</string>
|
<string name="label_watchface_digital_style">AAPS(DigitalStyle)</string>
|
||||||
<string name="label_watchface_custom">AAPS(Personalizzato)</string>
|
<string name="label_watchface_custom">AAPS(Personalizzato)</string>
|
||||||
<string name="label_actions_tile">AAPS(azioni)</string>
|
<string name="label_actions_tile">AAPS(azioni)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS (גדול)</string>
|
<string name="label_watchface_large">AAPS (גדול)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS (תרשים גדול)</string>
|
<string name="label_watchface_big_chart">AAPS (תרשים גדול)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS (ללא תרשים)</string>
|
<string name="label_watchface_no_chart">AAPS (ללא תרשים)</string>
|
||||||
<string name="label_watchface_circle">AAPS (עיגול)</string>
|
<string name="label_watchface_circle">AAPS (עיגול)</string>
|
||||||
<string name="label_watchface_v2">AAPS (v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS (דיגיטלי)</string>
|
<string name="label_watchface_digital_style">AAPS (דיגיטלי)</string>
|
||||||
<string name="label_actions_tile">AAPS (פעולות)</string>
|
<string name="label_actions_tile">AAPS (פעולות)</string>
|
||||||
<string name="label_temp_target_tile">AAPS (מטרה זמנית)</string>
|
<string name="label_temp_target_tile">AAPS (מטרה זמנית)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(대)</string>
|
<string name="label_watchface_large">AAPS(대)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(큰차트)</string>
|
<string name="label_watchface_big_chart">AAPS(큰차트)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(차트없음)</string>
|
<string name="label_watchface_no_chart">AAPS(차트없음)</string>
|
||||||
<string name="label_watchface_circle">AAPS(원형)</string>
|
<string name="label_watchface_circle">AAPS(원형)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS(디지털방식)</string>
|
<string name="label_watchface_digital_style">AAPS(디지털방식)</string>
|
||||||
<string name="label_watchface_custom">AAPS(Custom)</string>
|
<string name="label_watchface_custom">AAPS(Custom)</string>
|
||||||
<string name="label_actions_tile">AAPS(Actions)</string>
|
<string name="label_actions_tile">AAPS(Actions)</string>
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">AAPS</string>
|
<string name="app_name">AAPS</string>
|
||||||
<string name="label_actions_activity">AAPS</string>
|
<string name="label_actions_activity">AAPS</string>
|
||||||
<string name="label_watchface">AAPS</string>
|
|
||||||
<string name="label_watchface_large">AAPS(didelis)</string>
|
<string name="label_watchface_large">AAPS(didelis)</string>
|
||||||
<string name="label_watchface_big_chart">AAPS(DidelisGrafikas)</string>
|
<string name="label_watchface_big_chart">AAPS(DidelisGrafikas)</string>
|
||||||
<string name="label_watchface_no_chart">AAPS(BeGrafiko)</string>
|
<string name="label_watchface_no_chart">AAPS(BeGrafiko)</string>
|
||||||
<string name="label_watchface_circle">AAPS(Apvalus)</string>
|
<string name="label_watchface_circle">AAPS(Apvalus)</string>
|
||||||
<string name="label_watchface_v2">AAPS(v2)</string>
|
|
||||||
<string name="label_watchface_digital_style">AAPS(DigitalStyle)</string>
|
<string name="label_watchface_digital_style">AAPS(DigitalStyle)</string>
|
||||||
<string name="label_watchface_custom">AAPS(suasmeninta)</string>
|
<string name="label_watchface_custom">AAPS(suasmeninta)</string>
|
||||||
<string name="label_actions_tile">AAPS(Veiksmai)</string>
|
<string name="label_actions_tile">AAPS(Veiksmai)</string>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue