diff --git a/app/src/main/res/values-af-rZA/exam.xml b/app/src/main/res/values-af-rZA/exam.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/app/src/main/res/values-af-rZA/exam.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/app/src/main/res/values-af-rZA/objectives.xml b/app/src/main/res/values-af-rZA/objectives.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/app/src/main/res/values-af-rZA/objectives.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 22ff150e60..0000000000
--- a/app/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
- Verfris behandelings vanaf NS
- Gaan uit
- Delta
- Profiel
- Stoor
- Herlaai profiel
- Corr
- Wear
- Omtrent
- Toestemming vir foon status nog nie gegee nie
- Alarm Opsies
- Ou data drumpel [min]
- Nood ou data drumpel [min]
- Deur Autosense aan te skakel onthou om alle koolhidrate in te voer Andersins sal koolhidrate dwalinge verkeerdelik geïdentifiseer word as sensitiwiteit veranderinge!!
- Nie alle profiele gelaai!
- Waardes nie gestoor!
- ONGELDIG
- Lokale alarms
- Stel in kennis as geen BG data ontvang is
- Waarsku wanneer pomp onbereikbaar is
- Pomp onbereikbaar drempel [min]
- Open navigasie
- Sluit navigasie
- Behandeling data onvolledig
- \'n Behandeling (insulien: %1$.2f, koolhidrate: %2$d, by: %3$s) kon nie bygevoeg word by behandelings. Kontroleer asseblief en voeg per hand \'n rekord soos vanpas.
- eCarbs: %1$d g (%2$d h), vertraag: %3$d m
- == ∑ %1$s U
- Eenhede
-
-
diff --git a/app/src/main/res/values-ja-rJP/exam.xml b/app/src/main/res/values-ja-rJP/exam.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/app/src/main/res/values-ja-rJP/exam.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/app/src/main/res/values-ja-rJP/objectives.xml b/app/src/main/res/values-ja-rJP/objectives.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/app/src/main/res/values-ja-rJP/objectives.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index fc8d30f662..0000000000
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
- %1$s の設定
- NS からトリートメントを更新
- 終了
- デルタ
- プロファイル
- 保存
- プロファイルを再読み込み
- Corr
- (無効注意) NSアップロードのみ
- NS アップロードのみ(同期無効)。xDrip + のようなローカル ソースが選択されていない限り、SGV は有効ではありません。NS-プロファイルが使用されている間はプロファイルでは無効です。\n!!! 警告 !!! このオプションを無効にすると、コンポーネント(AAPS, NS, xdrip+) のいずれかが間違った設定になっている場合、誤動作やインスリン過剰摂取が発生する可能性があります。 AAPSで表示されるデータがポンプの状態と一致するかどうかを注意深く確認してください。
- ウェア
- About
- 電話の状態許可(パーミッション) がありません
- アラームオプション
- NSアラームから通知を作成する
- NSからのお知らせを通知する
- 古いデータしきい値 [min]
- Urgent stale data threshold [min]
- Autosense機能をオンにした場合、すべての炭水化物を入力することを忘れないでください。炭水化物偏差は間違った感度計算をされます。
- プロファイルが読み込まれていません!
- 値は保存されていません!
- 無効
- アラートと通知の音量を徐々に増加させる
- ローカルアラート
- BGデータが受信されなかった場合に警告する
- ポンプが反応しない場合にアラートを鳴らす
- ポンプの反応時間のしきい値[min]
- 炭水化物が必要な場合に通知する
- Units
-
-
diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt
index afc21096a3..20cd87da5b 100644
--- a/buildSrc/src/main/kotlin/Libs.kt
+++ b/buildSrc/src/main/kotlin/Libs.kt
@@ -84,7 +84,7 @@ object Libs {
object Android {
object PlayServices {
- const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.3.0"
+ const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.4.0"
const val wearable = "com.google.android.gms:play-services-wearable:18.1.0"
const val location = "com.google.android.gms:play-services-location:21.0.1"
}
@@ -101,7 +101,7 @@ object Libs {
object Firebase {
- const val firebaseBom = "com.google.firebase:firebase-bom:32.3.1"
+ const val firebaseBom = "com.google.firebase:firebase-bom:32.4.0"
const val analytics = "com.google.firebase:firebase-analytics-ktx"
const val crashlytics = "com.google.firebase:firebase-crashlytics-ktx"
const val messaging = "com.google.firebase:firebase-messaging-ktx"
@@ -171,7 +171,7 @@ object Libs {
object Okhttp3 {
- private const val okhttpVersion = "4.11.0"
+ private const val okhttpVersion = "4.12.0"
const val okhttp = "com.squareup.okhttp3:okhttp:$okhttpVersion"
const val loggingInterceptor = "com.squareup.okhttp3:logging-interceptor:$okhttpVersion"
diff --git a/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/CustomWatchfaceFormat.kt b/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/CustomWatchfaceFormat.kt
index 3ef2d4acde..0cae6aa73d 100644
--- a/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/CustomWatchfaceFormat.kt
+++ b/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/CustomWatchfaceFormat.kt
@@ -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_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_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 {
@@ -260,9 +261,14 @@ enum class JsonKeys(val key: String) {
INVALIDIMAGE("invalidImage"),
INVALIDCOLOR("invalidColor"),
INVALIDFONTCOLOR("invalidFontColor"),
+ INVALIDTEXTSIZE("invalidTextSize"),
TWINVIEW("twinView"),
TOPOFFSETTWINHIDDEN("topOffsetTwinHidden"),
- LEFTOFFSETTWINHIDDEN("leftOffsetTwinHidden")
+ LEFTOFFSETTWINHIDDEN("leftOffsetTwinHidden"),
+ DYNPREF("dynPref"),
+ DYNPREFCOLOR("dynPrefColor"),
+ PREFKEY("prefKey"),
+ DEFAULT("default")
}
enum class JsonKeyValues(val key: String) {
@@ -285,7 +291,10 @@ enum class JsonKeyValues(val key: String) {
BOLD_ITALIC("bold_italic"),
ITALIC("italic"),
BGCOLOR("bgColor"),
- SGVLEVEL("sgvLevel")
+ SGVLEVEL("sgvLevel"),
+ PREF_UNITS("key_units"),
+ PREF_DARK("key_dark"),
+ PREF_MATCH_DIVIDER("key_match_divider")
}
class ZipWatchfaceFormat {
diff --git a/core/interfaces/src/main/res/values-af-rZA/strings.xml b/core/interfaces/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 287559a98b..0000000000
--- a/core/interfaces/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- h
- dae
- ure
- sekonde
- minuut
- uur
- dag
- week
- sekondes
- minute
- ure
- dae
- weke
- m
- d
-
- Koppel vir %1$d s
- Handskudding
- Gekoppel
- Ontkoppel
-
-
diff --git a/core/interfaces/src/main/res/values-cs-rCZ/strings.xml b/core/interfaces/src/main/res/values-cs-rCZ/strings.xml
index 319ab6e24f..a1e2dc8ea0 100644
--- a/core/interfaces/src/main/res/values-cs-rCZ/strings.xml
+++ b/core/interfaces/src/main/res/values-cs-rCZ/strings.xml
@@ -58,6 +58,7 @@
Zobrazit trendovou šipku
Zobrazit aktualizováno před
Zobrazit číslo týdne
+ Zobrazit datum
Výchozí ciferník. Můžete kliknout na tlačítko EXPORTOVAT CIFERNÍK pro vygenerování šablony
Výchozí ciferník
Tapeta
diff --git a/core/interfaces/src/main/res/values-es-rES/strings.xml b/core/interfaces/src/main/res/values-es-rES/strings.xml
index ae10c6672e..b9b7dd616b 100644
--- a/core/interfaces/src/main/res/values-es-rES/strings.xml
+++ b/core/interfaces/src/main/res/values-es-rES/strings.xml
@@ -58,6 +58,7 @@
Mostrar flecha de dirección
Mostrar \"hace\"
Mostrar número de semana
+ Mostrar fecha
Esfera predeterminada, puedes hacer clic en el botón EXPORTAR ESFERA para generar una plantilla
Esfera por defecto
Imagen de fondo
diff --git a/core/interfaces/src/main/res/values-iw-rIL/strings.xml b/core/interfaces/src/main/res/values-iw-rIL/strings.xml
index a9843ae423..3e31901c3c 100644
--- a/core/interfaces/src/main/res/values-iw-rIL/strings.xml
+++ b/core/interfaces/src/main/res/values-iw-rIL/strings.xml
@@ -57,6 +57,7 @@
הצג חץ מגמה
הצג עבר
הצג מספר שבוע
+ הצג תאריך
ברירת המחדל של פני השעון, ניתן ללחוץ על כפתור ייצוא פני שעון כדי ליצור תבנית
ברירת מחדל פני שעון
תמונת רקע
diff --git a/core/interfaces/src/main/res/values-nb-rNO/strings.xml b/core/interfaces/src/main/res/values-nb-rNO/strings.xml
index 4f650e3bf1..757f9d6e6a 100644
--- a/core/interfaces/src/main/res/values-nb-rNO/strings.xml
+++ b/core/interfaces/src/main/res/values-nb-rNO/strings.xml
@@ -58,6 +58,7 @@
Vis retningspil
Vis tid siden
Vis ukenummer
+ Vis dato
Standard klokkebakgrunn, du kan klikke på EKSPORTER KLOKKEBAKGRUNN for å lage en mal
Standard klokkebakgrunn
Bakgrunnsbilde
diff --git a/core/interfaces/src/main/res/values-ro-rRO/strings.xml b/core/interfaces/src/main/res/values-ro-rRO/strings.xml
index 11cc2ea792..b3a532cc1f 100644
--- a/core/interfaces/src/main/res/values-ro-rRO/strings.xml
+++ b/core/interfaces/src/main/res/values-ro-rRO/strings.xml
@@ -58,6 +58,7 @@
Arată săgeată tendință
Afişare în urmă
Arată numărul săptămânii
+ Arată data
Fațetă implicită. Poți apăsa pe butonul EXPORT pentru a genera un șablon
Fațetă implicită
Imagine de fundal
diff --git a/core/interfaces/src/main/res/values/strings.xml b/core/interfaces/src/main/res/values/strings.xml
index 25af997279..343e299d31 100644
--- a/core/interfaces/src/main/res/values/strings.xml
+++ b/core/interfaces/src/main/res/values/strings.xml
@@ -66,6 +66,7 @@
Show Direction Arrow
Show Ago
Show Week number
+ Show Date
Default watchface, you can click on EXPORT WATCHFACE button to generate a template
Default Watchface
Background image
diff --git a/core/main/src/main/res/values-af-rZA/strings.xml b/core/main/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/core/main/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/core/main/src/main/res/values-ja-rJP/strings.xml b/core/main/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index ddc4b0eb74..0000000000
--- a/core/main/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- %1$d g
-
diff --git a/core/ui/src/main/res/values-af-rZA/protection.xml b/core/ui/src/main/res/values-af-rZA/protection.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/core/ui/src/main/res/values-af-rZA/protection.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/core/ui/src/main/res/values-af-rZA/strings.xml b/core/ui/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 4295ac521a..0000000000
--- a/core/ui/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,283 +0,0 @@
-
-
-
- Verfris
- Basale profiel in pomp bygewerk
- Ongeldige invoer
- Beperking toegepas!
- Totale IOB:
- TT
- Pomp onbereikbaar
- U
- %1$.2f U/h
- Pomp nie geïnisialiseer, profiel nie opgestel nie!
- Kon nie die basale profiel bywerk nie
- Geen geldige basale tempo gelees van pomp
- Beperk IAB tot %1$.1f U agv %2$s
- LOOP UIT AKSIE GESTEL DEUR BEPERKINGS
- Gebeurtenis tipe
- Herlaai
- mg/dl
- mmol/l
- Stoor
- Sluimer
- Virtuele Pomp
- Beperkings
- Superbolus
- Pomp wag
- En
- Uitslag
- Instellings
- BG data oplaai na NS
- Insulien
- nvt
- Bevestig
- Pomp
- Gemiste BG lesings
- IAB:
- Demp
- Sukses
- Verlengde bolus afleweringsfout
- Uitgebreide bolus
- Onderbreek
- TDD totaal
- Wag vir pomp
- %1$+.2f U
- %1$.2f h
- Doelstellings
- Wag asseblief…
- Staak
- Karbs
- ]]>
- Datum
- Eenhede
- DIA
- IC
- ISF
- Basale
- Doelwit
- Basale waarde
- g
- Bluetooth
- BT Watchdog
- Skakel asb die foon se bluetooth af vir een sekonde Indien geen verbinding met die pomp moontlik is nie. Dit mag help vir sommige selfone waar die bluetooth stapel vries.
- OK
- Pomp tyd opgedateer
- Uitgang
- Verwyder rekord
- Loop is gedeaktiveer
- Alarm
- Skakel loop af
- Skakel loop aan
- Hervat lus
- Staak lus
- Durasie [min]
- Kennisgewing
- Nog geen profiel gelaai vanaf NS
- bestaan
- bestaan nie
- Glukose
- IAB
- KOB
- Naam:
- Tyd
- WiFi SSID
- Notas
- Verwyder
- BG
- Kalibrasie
- Duur
- g
- Pomp opgeskort
- Nie gekonfigureer nie
- Lus opgeskort
- onbekend
- hoog
- laag
- ]]>
- VERWYDER
- Aktiveer profiel
- herstel
- ProfileSwitch ontbreek. Doen \'n profiel skakelaar of druk \"Aktiveer profiel\" in die LokaleProfiel.
- Profiel
- Behandeling
- Ghoeroe-instellings
- 15min tendens
- KOB
- Bolus IOB
- Basale IAB
- ONGELDIG
- Insulien
- Tydelike teiken gestop
- Geslote lus
- Oop lus
- DIA
-
- Verkeerde wagwoord
-
- Basale waardes nie in lyn met ure: %1$s
- Basale waarde vervang deur maksimum ondersteunde waarde: %1$s
- /U
- U/h
- g/U
-
- Begin profiele%1$d%% vir %2$d min
-
- Laat tydelike basale, hardloop
- Tempo
- Tydsduur
- Rede
- Geen verandering was versoek
-
- Ongeldige profiel: %1$s
-
-
- Careportal
- BG Toets
- Aankondiging
- Nota
- Vraag
- Oefening
- CGM Sensor Begin
- Profiel wissel
- Peuselhappie Bolus
- Maaltyd Bolus
- Regstelling Bolus
- Kombo Bolus
- Temp Basale Begin
- Temp Basale eind
- Karbs regstelling
- OpenAPS vanlynaf
- Bolus slimjan
- Vinger
- Sensor
- Per hand
- onbekend
- Eet binnekort
- Hipo
- Aktiwiteit
- Wear
- Outomatisasie
- Gepasmaak
- Lus
-
- Verbinding verstreke
-
- By hand gedoen
- Kommentaar
- Persentasie
- Absolute
- Wag vir uitslag
- SMB
-
-
- Eksponensiele geweegde TDD
- Basale
- Bolus
- TDD
- Verhouding
- # Dae
- Gewig
- Moontlik onakkuraat as boluse gebruik word vir optop/vulling gebruik!
- Totale basis basale
- TBB * 2
-
-
- Aksie
-
- %1$.2f beperk tot %2$.2f
-
- SMS
- %1$.0f%%
- Basale
- Basale %
-
- Resultaat: %1$s
- Ontbreek
-
- Gebruik stelsel kennisgewings vir waarskuwings en kennisgewings
- Dringende Alarm
- INFO
-
- Geen aksie gekies, niks sal gebeur
- SlimNutsman
-
- Tiener
- Volwassene
-
- Ontsluit instellings
-
- Battery
- Stoor
- Laaste verbinding
- Laaste bolus
- Basis basale tempo
- Tydelike basaal
- Verlengde Bolus
- Reeksnommer
- Ontkoppel
- Koppel
- %1$.0f / %2$d U
- Daaglikse eenhede
- Bekyk profiel
- Tempbasal aflewering fout
- Nie gestel nie
- Pomp is besig
- Pomp verbindingsfout
- Lees pomp geskiedenis
- Paring
- Inisialiseer tans...
-
- Max basale koers beperk tot %1$.2f U/h as gevolg van %2$s
- pomp limiet
- Beperk maks persentasie koers tot %1$d%% agv %2$s
- dit moet \'n positiewe waarde wees
- Beperk bolus %1$.1f U as gevolg van %2$s
-
-
- Bevestiging
- OK
- Kanselleer
- DISMISS
- Ja
- Nee
- Maak toe
-
-
-
- Gebeurtenis tyd
-
-
-
- Bluetooth Low Energy word nie ondersteun.
- Bluetooth nie aan.
- Location nie aan
- Vir Bluetooth ontdek om te werk op nuwer toestelle, lokaliteit moet aan wees. AAPS speur nie jou lokaliteit en kan afgeskakel na paring.
-
- Plugin voorkeure
-
- Vermiste SMS toestemming
-
-
- - %1$d dae
- - %1$d dae
-
-
- - %1$d uur
- - %1$d ure
-
-
- - %1$d minuut
- - %1$d minute
-
-
-
- Sat
- Vry
- Don
- Woens
- Dins
- Maan
-
-
-
diff --git a/core/ui/src/main/res/values-ja-rJP/protection.xml b/core/ui/src/main/res/values-ja-rJP/protection.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/core/ui/src/main/res/values-ja-rJP/protection.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/core/ui/src/main/res/values-ja-rJP/strings.xml b/core/ui/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 8dfa5ee413..0000000000
--- a/core/ui/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
- 更新
- エラー
- ポンプのべーサルプロファイルが更新されました
- 無効な入力です。
- %1$.2fUを注入中
- %1$.2f U/h
- べーサルプロファイルの更新に失敗しました
- イベント種別
- 再読込
- mg/dl
- mmol/l
- 保存
- ポンプ
- 消音
- %1$.2fUを注入します
- ポンプ反応待ち
- AAPSを開始しました
- %1$+.2f U
- %1$d g
- %1$.2f h
- %1$d 分
- オブジェクティブ
- お待ちください…
- 停止
- 炭水化物
- 無効なプロファイル!
- プロファイルがありません
- ]]>
- 日時
- Units
- DIA
- 導入コスト
- ISF
- ベーサル
- ターゲット
- インスリン作用時間
- インスリン カーボ比
- インスリン効果値(Isf)
- 基礎レート
- 目標血糖値
- g
- %
- Bluetooth
- BT Watchdog
- 校正
- 無効
-
-
-
-
-
-
-
- ウェア
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- バッテリー
- リザーバ
- 最終接続
- 最終ボーラス
- 基準ベーサルレート
- 一時ベーサル
- 追加ボーラス
- シリアルナンバー
- 未接続
- 接続中
- %1$.0f / %2$d U
- 今日の総単位
- プロフィールを表示
- ポンプ履歴
- テンプベーサル注入エラー
- 未設定
- ポンプがビジー状態です
- ポンプの接続エラー
- 初期化中...
-
-
-
- 確認
- メッセージ
- OK
- キャンセル
- 無効
- Yes
- No
- 閉じる
-
- インポートされた設定を復元するために、マスターパスワードが必要です。
-
-
- イベントタイム
-
- Bluetoothアプリの権限が必要です
-
-
-
-
-
-
-
diff --git a/core/ui/src/main/res/values-nb-rNO/strings.xml b/core/ui/src/main/res/values-nb-rNO/strings.xml
index 02b5024141..0541e669eb 100644
--- a/core/ui/src/main/res/values-nb-rNO/strings.xml
+++ b/core/ui/src/main/res/values-nb-rNO/strings.xml
@@ -496,8 +496,8 @@
Reservoar
Siste tilkobling
Siste bolus
- Profilens basaldose
- Midl. basal
+ Profilens basal
+ Midlertidig basal
Forlenget bolus
Serienummer
Frakoblet
diff --git a/core/ui/src/main/res/values-night/styles.xml b/core/ui/src/main/res/values-night/styles.xml
index d4ceff303a..27f13986e1 100644
--- a/core/ui/src/main/res/values-night/styles.xml
+++ b/core/ui/src/main/res/values-night/styles.xml
@@ -240,7 +240,7 @@
- @color/isCompleted
- @color/isNotCompleted
- @style/DatePicker
- - @style/DatePicker
+ - @style/TimePicker
- @color/defaultText
@@ -294,7 +294,18 @@
+
+
diff --git a/core/validators/src/main/res/values-af-rZA/validator.xml b/core/validators/src/main/res/values-af-rZA/validator.xml
deleted file mode 100644
index 8fec1d86e6..0000000000
--- a/core/validators/src/main/res/values-af-rZA/validator.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- Slegs numeriese syfers word toegelaat.
- Slegs numeriese syfers binne die reeks %1$s - %2$s word toegelaat.
- Hierdie veld moet nie leeg wees nie
- Telefoonnommer ongeldig
-
diff --git a/core/validators/src/main/res/values-ja-rJP/validator.xml b/core/validators/src/main/res/values-ja-rJP/validator.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/core/validators/src/main/res/values-ja-rJP/validator.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt b/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt
index b7a546f229..e7600e68c9 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt
@@ -215,11 +215,6 @@ class AppRepository @Inject internal constructor(
.map { if (!ascending) it.reversed() else it }
.subscribeOn(Schedulers.io())
- @Suppress("unused")
- fun getModifiedTemporaryTargetsDataFromId(lastId: Long): Single> =
- database.temporaryTargetDao.getModifiedFrom(lastId)
- .subscribeOn(Schedulers.io())
-
fun getTemporaryTargetActiveAt(timestamp: Long): Single> =
database.temporaryTargetDao.getTemporaryTargetActiveAt(timestamp)
.subscribeOn(Schedulers.io())
@@ -486,11 +481,6 @@ class AppRepository @Inject internal constructor(
}
}
- @Suppress("unused")
- fun getModifiedBolusesDataFromId(lastId: Long): Single> =
- database.bolusDao.getModifiedFrom(lastId)
- .subscribeOn(Schedulers.io())
-
fun getLastBolusRecord(): Bolus? =
database.bolusDao.getLastBolusRecord()
@@ -711,11 +701,6 @@ class AppRepository @Inject internal constructor(
}
}
- @Suppress("unused")
- fun getModifiedTemporaryBasalDataFromId(lastId: Long): Single> =
- database.temporaryBasalDao.getModifiedFrom(lastId)
- .subscribeOn(Schedulers.io())
-
fun getTemporaryBasalActiveAt(timestamp: Long): Single> =
database.temporaryBasalDao.getTemporaryBasalActiveAt(timestamp)
.subscribeOn(Schedulers.io())
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/BolusCalculatorResultDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/BolusCalculatorResultDao.kt
index 2887bbdcd1..49b6012d13 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/BolusCalculatorResultDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/BolusCalculatorResultDao.kt
@@ -26,20 +26,20 @@ internal interface BolusCalculatorResultDao : TraceableDao= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE likely(isValid = 1) AND unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getBolusCalculatorResultsFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getBolusCalculatorResultsIncludingInvalidFromTime(timestamp: Long): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_BOLUS_CALCULATOR_RESULTS WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/BolusDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/BolusDao.kt
index f3b57198dd..3d3bd67d61 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/BolusDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/BolusDao.kt
@@ -26,45 +26,41 @@ internal interface BolusDao : TraceableDao {
@Query("SELECT id FROM $TABLE_BOLUSES ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE timestamp = :timestamp AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE unlikely(timestamp = :timestamp) AND likely(referenceId IS NULL)")
fun findByTimestamp(timestamp: Long): Bolus?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): Bolus?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE pumpId = :pumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE unlikely(pumpId = :pumpId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpIds(pumpId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): Bolus?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE temporaryId = :temporaryId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE unlikely(temporaryId = :temporaryId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpTempIds(temporaryId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): Bolus?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE isValid = 1 AND type <> :exclude AND referenceId IS NULL ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE likely(isValid = 1) AND type <> :exclude AND likely(referenceId IS NULL) ORDER BY timestamp DESC LIMIT 1")
fun getLastBolusRecord(exclude: Bolus.Type = Bolus.Type.PRIMING): Bolus?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE isValid = 1 AND type <> :exclude AND referenceId IS NULL ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE likely(isValid = 1) AND type <> :exclude AND likely(referenceId IS NULL) ORDER BY timestamp DESC LIMIT 1")
fun getLastBolusRecordMaybe(exclude: Bolus.Type = Bolus.Type.PRIMING): Maybe
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE isValid = 1 AND type == :only AND referenceId IS NULL ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE likely(isValid = 1) AND type == :only AND likely(referenceId IS NULL) ORDER BY timestamp DESC LIMIT 1")
fun getLastBolusRecordOfType(only: Bolus.Type): Maybe
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE isValid = 1 AND type <> :exclude AND referenceId IS NULL ORDER BY timestamp ASC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE likely(isValid = 1) AND unlikely(type <> :exclude) AND unlikely(referenceId IS NULL) ORDER BY timestamp ASC LIMIT 1")
fun getOldestBolusRecord(exclude: Bolus.Type = Bolus.Type.PRIMING): Bolus?
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE isValid = 1 AND timestamp >= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE likely(isValid = 1) AND unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getBolusesFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE isValid = 1 AND timestamp >= :start AND timestamp <= :end AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE likely(isValid = 1) AND unlikely(timestamp BETWEEN :start AND :end) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getBolusesFromTime(start: Long, end: Long): Single>
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getBolusesIncludingInvalidFromTime(timestamp: Long): Single>
- // This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE id > :id AND pumpId IS NOT NULL AND type <> :exclude AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_BOLUSES WHERE id > :id) ORDER BY id ASC")
- fun getModifiedFrom(id: Long, exclude: Bolus.Type = Bolus.Type.PRIMING): Single>
-
// for WS we need 1 record only
- @Query("SELECT * FROM $TABLE_BOLUSES WHERE id > :id AND pumpId IS NOT NULL AND type <> :exclude ORDER BY id ASC limit 1")
+ @Query("SELECT * FROM $TABLE_BOLUSES WHERE unlikely(id > :id) AND likely(pumpId IS NOT NULL) AND likely(type <> :exclude) ORDER BY id ASC limit 1")
fun getNextModifiedOrNewAfterExclude(id: Long, exclude: Bolus.Type = Bolus.Type.PRIMING): Maybe
@Query("SELECT * FROM $TABLE_BOLUSES WHERE id = :referenceId")
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/CarbsDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/CarbsDao.kt
index e5b1b49f6a..53e06804e9 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/CarbsDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/CarbsDao.kt
@@ -25,10 +25,10 @@ internal interface CarbsDao : TraceableDao {
@Query("SELECT id FROM $TABLE_CARBS ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_CARBS WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): Carbs?
- @Query("SELECT * FROM $TABLE_CARBS WHERE timestamp = :timestamp AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE unlikely(timestamp = :timestamp) AND likely(referenceId IS NULL)")
fun findByTimestamp(timestamp: Long): Carbs?
@Query("SELECT * FROM $TABLE_CARBS WHERE isValid = 1 AND referenceId IS NULL ORDER BY id DESC LIMIT 1")
@@ -40,23 +40,23 @@ internal interface CarbsDao : TraceableDao {
@Query("SELECT * FROM $TABLE_CARBS WHERE isValid = 1 AND referenceId IS NULL ORDER BY id ASC LIMIT 1")
fun getOldestCarbsRecord(): Carbs?
- @Query("SELECT * FROM $TABLE_CARBS WHERE isValid = 1 AND timestamp >= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE likely(isValid = 1) AND unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getCarbsFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_CARBS WHERE isValid = 1 AND timestamp + duration >= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE likely(isValid = 1) AND unlikely((timestamp + duration) >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getCarbsFromTimeExpandable(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_CARBS WHERE isValid = 1 AND timestamp + duration > :from AND timestamp <= :to AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE likely(isValid = 1) AND unlikely((timestamp + duration) > :from) AND unlikely(timestamp <= :to) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getCarbsFromTimeToTimeExpandable(from: Long, to: Long): Single>
- @Query("SELECT * FROM $TABLE_CARBS WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getCarbsIncludingInvalidFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_CARBS WHERE timestamp >= :from AND timestamp <= :to AND referenceId IS NULL ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE unlikely(timestamp BETWEEN :from AND :to) AND likely(referenceId IS NULL) ORDER BY id DESC")
fun getCarbsIncludingInvalidFromTimeToTime(from: Long, to: Long): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_CARBS WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_CARBS WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_CARBS WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_CARBS WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/EffectiveProfileSwitchDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/EffectiveProfileSwitchDao.kt
index 29b2dacae0..873fce99b1 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/EffectiveProfileSwitchDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/EffectiveProfileSwitchDao.kt
@@ -25,32 +25,32 @@ internal interface EffectiveProfileSwitchDao : TraceableDao= timestamp AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE unlikely(:timestamp >= timestamp) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getEffectiveProfileSwitchActiveAt(timestamp: Long): Maybe
- @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getEffectiveProfileSwitchDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE timestamp BETWEEN :start AND :end AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE unlikely(timestamp BETWEEN :start AND :end) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getEffectiveProfileSwitchDataFromTimeToTime(start: Long, end: Long): Single>
- @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getEffectiveProfileSwitchDataIncludingInvalidFromTime(timestamp: Long): Single>
@Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
fun getEffectiveProfileSwitchData(): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_EFFECTIVE_PROFILE_SWITCHES WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/ExtendedBolusDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/ExtendedBolusDao.kt
index 80e2ce8884..b6b2c080b6 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/ExtendedBolusDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/ExtendedBolusDao.kt
@@ -26,31 +26,31 @@ internal interface ExtendedBolusDao : TraceableDao {
@Query("SELECT id FROM $TABLE_EXTENDED_BOLUSES ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE timestamp = :timestamp AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(timestamp = :timestamp) AND likely(referenceId IS NULL)")
fun findByTimestamp(timestamp: Long): ExtendedBolus?
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): ExtendedBolus?
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE pumpId = :pumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(pumpId = :pumpId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpIds(pumpId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): ExtendedBolus?
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE endId = :endPumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(endId = :endPumpId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpEndIds(endPumpId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): ExtendedBolus?
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL) AND unlikely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getExtendedBolusActiveAt(timestamp: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): Maybe
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getExtendedBolusActiveAt(timestamp: Long): Maybe
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getExtendedBolusDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE timestamp >= :from AND timestamp <= :to AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(timestamp BETWEEN :from AND :to) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getExtendedBolusDataFromTimeToTime(from: Long, to: Long): Single>
- @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_EXTENDED_BOLUSES WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getExtendedBolusDataIncludingInvalidFromTime(timestamp: Long): Single>
// This query will be used with v3 to get all changed records
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/GlucoseValueDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/GlucoseValueDao.kt
index 3eb9cf8de4..e1ced4f1e5 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/GlucoseValueDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/GlucoseValueDao.kt
@@ -28,23 +28,23 @@ internal interface GlucoseValueDao : TraceableDao {
@Query("SELECT id FROM $TABLE_GLUCOSE_VALUES ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): GlucoseValue?
- @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE timestamp = :timestamp AND sourceSensor = :sourceSensor AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE unlikely(timestamp = :timestamp) AND likely(sourceSensor = :sourceSensor) AND likely(referenceId IS NULL)")
fun findByTimestampAndSensor(timestamp: Long, sourceSensor: GlucoseValue.SourceSensor): GlucoseValue?
- @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL AND value >= 39 ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) AND likely(value >= 39) ORDER BY timestamp ASC")
fun compatGetBgReadingsDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE timestamp BETWEEN :start AND :end AND isValid = 1 AND referenceId IS NULL AND value >= 39 ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE unlikely(timestamp BETWEEN :start AND :end) AND likely(isValid = 1) AND likely(referenceId IS NULL) AND likely(value >= 39) ORDER BY timestamp ASC")
fun compatGetBgReadingsDataFromTime(start: Long, end: Long): Single>
- @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE id > :lastId AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE unlikely(id > :lastId) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getDataFromId(lastId: Long): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_GLUCOSE_VALUES WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_GLUCOSE_VALUES WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_GLUCOSE_VALUES WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/OfflineEventDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/OfflineEventDao.kt
index ebaa6cef05..061ca3c494 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/OfflineEventDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/OfflineEventDao.kt
@@ -25,17 +25,18 @@ internal interface OfflineEventDao : TraceableDao {
@Query("SELECT id FROM $TABLE_OFFLINE_EVENTS ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): OfflineEvent?
- @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(referenceId IS NULL) AND likely(isValid = 1) " +
+ "ORDER BY timestamp DESC LIMIT 1")
fun getOfflineEventActiveAt(timestamp: Long): Maybe
- @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE timestamp BETWEEN :start AND :end AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE unlikely(timestamp BETWEEN :start AND :end) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getOfflineEventDataFromTimeToTime(start: Long, end: Long): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_OFFLINE_EVENTS WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_OFFLINE_EVENTS WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_OFFLINE_EVENTS WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/ProfileSwitchDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/ProfileSwitchDao.kt
index cdba01a7a5..d29d41de78 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/ProfileSwitchDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/ProfileSwitchDao.kt
@@ -30,26 +30,26 @@ internal interface ProfileSwitchDao : ProfileSwitchDaoWorkaround {
@Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE timestamp = :timestamp AND referenceId IS NULL")
fun findByTimestamp(timestamp: Long): ProfileSwitch?
- @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): ProfileSwitch?
- @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getTemporaryProfileSwitchActiveAt(timestamp: Long): Maybe
- @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE timestamp <= :timestamp AND duration = 0 AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE unlikely(timestamp <= :timestamp) AND unlikely(duration = 0) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getPermanentProfileSwitchActiveAt(timestamp: Long): Maybe
@Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
fun getAllProfileSwitches(): Single>
- @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getProfileSwitchDataIncludingInvalidFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getProfileSwitchDataFromTime(timestamp: Long): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_PROFILE_SWITCHES WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_PROFILE_SWITCHES WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryBasalDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryBasalDao.kt
index 83158d5dda..3aef578941 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryBasalDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryBasalDao.kt
@@ -29,48 +29,44 @@ internal interface TemporaryBasalDao : TraceableDao {
@Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE temporaryId = :temporaryId")
fun findByTempId(temporaryId: Long): TemporaryBasal?
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp = :timestamp AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp = :timestamp) AND likely(referenceId IS NULL)")
fun findByTimestamp(timestamp: Long): TemporaryBasal?
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE pumpId = :pumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(pumpId = :pumpId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpIds(pumpId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): TemporaryBasal?
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE endId = :endPumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE endId = :endPumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND likely(referenceId IS NULL)")
fun findByPumpEndIds(endPumpId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): TemporaryBasal?
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): TemporaryBasal?
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE temporaryId = :temporaryId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(temporaryId = :temporaryId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpTempIds(temporaryId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): TemporaryBasal?
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getTemporaryBasalActiveAt(timestamp: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): Maybe
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getTemporaryBasalActiveAt(timestamp: Long): Maybe
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp <= :to AND (timestamp + duration) > :from AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp <= :to) AND unlikely((timestamp + duration) > :from) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC")
fun getTemporaryBasalActiveBetweenTimeAndTime(from: Long, to: Long): Single>
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTemporaryBasalDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp >= :from AND timestamp <= :to AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp BETWEEN :from and :to) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTemporaryBasalDataFromTimeToTime(from: Long, to: Long): Single>
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTemporaryBasalDataIncludingInvalidFromTime(timestamp: Long): Single>
@Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE referenceId = :id ORDER BY id DESC LIMIT 1")
fun getLastHistoryRecord(id: Long): TemporaryBasal?
- // This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE id > :id AND pumpId IS NOT NULL AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_TEMPORARY_BASALS WHERE id > :id) ORDER BY id ASC")
- fun getModifiedFrom(id: Long): Single>
-
// for WS we need 1 record only
- @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE id > :id AND pumpId IS NOT NULL ORDER BY id ASC limit 1")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE unlikely(id > :id) AND likely(pumpId IS NOT NULL) ORDER BY id ASC limit 1")
fun getNextModifiedOrNewAfter(id: Long): Maybe
@Query("SELECT * FROM $TABLE_TEMPORARY_BASALS WHERE id = :referenceId")
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryTargetDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryTargetDao.kt
index e4317d3ee5..0d18a9616c 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryTargetDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/TemporaryTargetDao.kt
@@ -25,22 +25,18 @@ internal interface TemporaryTargetDao : TraceableDao {
@Query("SELECT id FROM $TABLE_TEMPORARY_TARGETS ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): TemporaryTarget?
- @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE timestamp <= :timestamp AND (timestamp + duration) > :timestamp AND referenceId IS NULL AND isValid = 1 ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE unlikely(timestamp <= :timestamp) AND unlikely((timestamp + duration) > :timestamp) AND likely(referenceId IS NULL) AND likely(isValid = 1) ORDER BY timestamp DESC LIMIT 1")
fun getTemporaryTargetActiveAt(timestamp: Long): Maybe
- @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTemporaryTargetDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTemporaryTargetDataIncludingInvalidFromTime(timestamp: Long): Single>
- // This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_TEMPORARY_TARGETS WHERE id > :id) ORDER BY id ASC")
- fun getModifiedFrom(id: Long): Single>
-
// for WS we need 1 record only
@Query("SELECT * FROM $TABLE_TEMPORARY_TARGETS WHERE id > :id ORDER BY id ASC limit 1")
fun getNextModifiedOrNewAfter(id: Long): Maybe
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/TherapyEventDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/TherapyEventDao.kt
index 7afcb17c78..d5f6283a17 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/TherapyEventDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/TherapyEventDao.kt
@@ -25,32 +25,32 @@ internal interface TherapyEventDao : TraceableDao {
@Query("SELECT id FROM $TABLE_THERAPY_EVENTS ORDER BY id DESC limit 1")
fun getLastId(): Long?
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE type = :type AND timestamp = :timestamp AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE likely(type = :type) AND unlikely(timestamp = :timestamp) AND likely(referenceId IS NULL)")
fun findByTimestamp(type: TherapyEvent.Type, timestamp: Long): TherapyEvent?
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE type = :type AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE unlikely(type = :type) AND likely(referenceId IS NULL)")
fun getValidByType(type: TherapyEvent.Type): List
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE nightscoutId = :nsId AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE unlikely(nightscoutId = :nsId) AND likely(referenceId IS NULL)")
fun findByNSId(nsId: String): TherapyEvent?
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTherapyEventDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE type = :type AND timestamp >= :timestamp AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE type = :type AND unlikely(timestamp >= :timestamp) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTherapyEventDataFromTime(timestamp: Long, type: TherapyEvent.Type): Single>
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE timestamp >= :timestamp AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE unlikely(timestamp >= :timestamp) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun getTherapyEventDataIncludingInvalidFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE type = :type AND isValid = 1 AND timestamp <= :now ORDER BY timestamp DESC LIMIT 1")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE type = :type AND likely(isValid = 1) AND unlikely(timestamp <= :now) ORDER BY timestamp DESC LIMIT 1")
fun getLastTherapyRecord(type: TherapyEvent.Type, now: Long): Maybe
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE timestamp >= :from AND timestamp <= :to AND isValid = 1 AND referenceId IS NULL ORDER BY timestamp ASC")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE unlikely(timestamp BETWEEN :from AND :to) AND likely(isValid = 1) AND likely(referenceId IS NULL) ORDER BY timestamp ASC")
fun compatGetTherapyEventDataFromToTime(from: Long, to: Long): Single>
// This query will be used with v3 to get all changed records
- @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE id > :id AND referenceId IS NULL OR id IN (SELECT DISTINCT referenceId FROM $TABLE_THERAPY_EVENTS WHERE id > :id) ORDER BY id ASC")
+ @Query("SELECT * FROM $TABLE_THERAPY_EVENTS WHERE unlikely(id > :id) AND likely(referenceId IS NULL) OR id IN (SELECT DISTINCT referenceId FROM $TABLE_THERAPY_EVENTS WHERE id > :id) ORDER BY id ASC")
fun getModifiedFrom(id: Long): Single>
// for WS we need 1 record only
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/TotalDailyDoseDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/TotalDailyDoseDao.kt
index 686981ccb9..3774d5e75b 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/TotalDailyDoseDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/TotalDailyDoseDao.kt
@@ -23,13 +23,13 @@ internal interface TotalDailyDoseDao : TraceableDao {
@Query("DELETE FROM $TABLE_TOTAL_DAILY_DOSES WHERE referenceId IS NOT NULL")
override fun deleteTrackedChanges(): Int
- @Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE pumpId = :pumpId AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE unlikely(pumpId = :pumpId) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpIds(pumpId: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): TotalDailyDose?
- @Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE timestamp = :timestamp AND pumpType = :pumpType AND pumpSerial = :pumpSerial AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE unlikely(timestamp = :timestamp) AND likely(pumpType = :pumpType) AND likely(pumpSerial = :pumpSerial) AND likely(referenceId IS NULL)")
fun findByPumpTimestamp(timestamp: Long, pumpType: InterfaceIDs.PumpType, pumpSerial: String): TotalDailyDose?
- @Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE timestamp = :timestamp AND pumpType = :pumpType AND referenceId IS NULL")
+ @Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE unlikely(timestamp = :timestamp) AND likely(pumpType = :pumpType) AND likely(referenceId IS NULL)")
fun findByTimestamp(timestamp: Long, pumpType: InterfaceIDs.PumpType): Maybe
@Query("SELECT * FROM $TABLE_TOTAL_DAILY_DOSES WHERE isValid = 1 AND referenceId IS NULL AND pumpType <> :exclude ORDER BY timestamp DESC LIMIT :count")
diff --git a/database/impl/src/main/java/app/aaps/database/impl/daos/UserEntryDao.kt b/database/impl/src/main/java/app/aaps/database/impl/daos/UserEntryDao.kt
index 93de4fe7d9..dc08dba01b 100644
--- a/database/impl/src/main/java/app/aaps/database/impl/daos/UserEntryDao.kt
+++ b/database/impl/src/main/java/app/aaps/database/impl/daos/UserEntryDao.kt
@@ -20,7 +20,7 @@ interface UserEntryDao {
@Query("SELECT * FROM $TABLE_USER_ENTRY WHERE timestamp >= :timestamp ORDER BY id DESC")
fun getUserEntryDataFromTime(timestamp: Long): Single>
- @Query("SELECT * FROM $TABLE_USER_ENTRY WHERE timestamp >= :timestamp AND source != :excludeSource ORDER BY id DESC")
+ @Query("SELECT * FROM $TABLE_USER_ENTRY WHERE unlikely(timestamp >= :timestamp) AND likely(source != :excludeSource) ORDER BY id DESC")
fun getUserEntryFilteredDataFromTime(excludeSource: Sources, timestamp: Long): Single>
}
\ No newline at end of file
diff --git a/implementation/src/main/kotlin/app/aaps/implementation/protection/PasswordCheckImpl.kt b/implementation/src/main/kotlin/app/aaps/implementation/protection/PasswordCheckImpl.kt
index 9874b556a0..8c7057aba6 100644
--- a/implementation/src/main/kotlin/app/aaps/implementation/protection/PasswordCheckImpl.kt
+++ b/implementation/src/main/kotlin/app/aaps/implementation/protection/PasswordCheckImpl.kt
@@ -11,6 +11,7 @@ import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.TextView
import androidx.annotation.StringRes
+import app.aaps.core.interfaces.extensions.runOnUiThread
import app.aaps.core.interfaces.protection.PasswordCheck
import app.aaps.core.interfaces.sharedPreferences.SP
import app.aaps.core.main.R
@@ -81,7 +82,7 @@ class PasswordCheckImpl @Inject constructor(
val alert = alertDialogBuilder.create().apply {
window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
- show()
+ runOnUiThread { show() }
}
userInput.setOnEditorActionListener { _, actionId, _ ->
diff --git a/implementation/src/main/res/values-af-rZA/strings.xml b/implementation/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 4eaf9a870a..0000000000
--- a/implementation/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- BG
- Opdrag word nou uitgevoer
- Basale waarde onder minimum. Profiel nie gestel nie!
- Toestemming
-
- Laag
- Hoog
-
diff --git a/implementation/src/main/res/values-ja-rJP/strings.xml b/implementation/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index b31c519926..0000000000
--- a/implementation/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/insight/src/main/res/values-af-rZA/alert_codes.xml b/insight/src/main/res/values-af-rZA/alert_codes.xml
deleted file mode 100644
index 9379750f05..0000000000
--- a/insight/src/main/res/values-af-rZA/alert_codes.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- Herinner R1
- Herinner R2
- Herinner R3
- Herinner R4
- Herinner R7
- Waarskuwing W31
- Waarskuwing W33
- Waarskuwing W33
- Waarskuwing W34
- Waarskuwing W36
- Waarskuwing W38
- Waarskuwing W39
- Onderhoud M20
- Onderhoud M21
- Onderhoud M22
- Onderhoud M23
- Onderhoud M24
- Onderhoud M25
- Onderhoud M26
- Onderhoud M27
- Onderhoud M28
- Onderhoud M29
- Onderhoud M30
- Fout E6
- Fout E10
- Fout E13
-
diff --git a/insight/src/main/res/values-af-rZA/alert_descriptions.xml b/insight/src/main/res/values-af-rZA/alert_descriptions.xml
deleted file mode 100644
index ade568703d..0000000000
--- a/insight/src/main/res/values-af-rZA/alert_descriptions.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- %1$d%%\nDurasie: %2$s h]]>
- %1$s U]]>
- Verander battery.
- Stel tyd/datum.
- Kontak Accu-Chek ondersteuning.
- %1$d%%
Durasie:%2$s h]]>
- %1$s U
gelewer: %2$s U]]>
- Voeg kasset.
- Verander kasset.
- Verander battery.
- Kontroleer pomp status.
- Verander infusie stel.
- Kontak Accu-Chek ondersteuning.
- Verander kasset.
- Herhaal data aflaai.
- Kontroleer pomp status.
- Stel battery tipe.
- Stel kasset tipe.
- Verander battery en kasset.
- Verander kasset.
- Verander taal.
-
diff --git a/insight/src/main/res/values-af-rZA/alert_titles.xml b/insight/src/main/res/values-af-rZA/alert_titles.xml
deleted file mode 100644
index 87cd922237..0000000000
--- a/insight/src/main/res/values-af-rZA/alert_titles.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- Lewer Bolus
- Bolus Gemis
- Wekker
- Verander infusie stel
- TBR voltooi
- Kasset laag
- Battery is amper leeg
- Ongeldige tyd/datum
- Einde van waarborg
- TBR gekanselleer
- Bolus gekanselleer
- Leentyd waarskuwing
- Kasset nie ingevoeg
- Kasset leeg
- Battery leeg
- Outomaties af -pomp gestaak
- Verstopping
- Leentyd oor - einde van werking
- Kasset verandering nie voltooi
- Data aflaai gefaal
- Wag modus verskrei
- Battery tipe nie gestel nie
- Kasset tipe nie gestel nie
- Meganiese fout
- Herlaai fout
- Taal fout
-
diff --git a/insight/src/main/res/values-af-rZA/exceptions.xml b/insight/src/main/res/values-af-rZA/exceptions.xml
deleted file mode 100644
index 9470fcbd3a..0000000000
--- a/insight/src/main/res/values-af-rZA/exceptions.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- Verbinding het misluk
- Konneksie verloor
- Maat verwerp
- Sok skepping gefaal
- Afsnytyd
- Maksimum bolus nr reeds gelaai
- Geen aktiewe TBR om te kanselleer
- Geen aktiewe TBR om te verander
- Geen sodanige bolus om te kanselleer
- Pomp reeds in daardie staat
- Loop modus nie toegelaat
-
diff --git a/insight/src/main/res/values-af-rZA/strings.xml b/insight/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 6b27e59564..0000000000
--- a/insight/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
- Skakel kennisgewing van TBR einde\n(pomp instelling)
- Deaktiveer kennisgewing van TBR einde\n(pomp instelling)
- Nie gemaat
- Herstel
- Status
- Herstel duur
- Laaste verbind
- Begin pomp
- Stop pomp
- Begin
- Gestaak
- Bedryf modus
- Integrasie vir Accu-Chek Insight pompe
- Nie ingesteek
- TDD Bolus
- TDD basale
- %1$d%% vir %2$d / %3$d min
- Multigolf bolus
- %1$.2f / %2$.2f U vir %3$d min
- Soek vir toestelle…
- Maats voltooi
- Stem die kodes gewys op hierdie toestel en op jou pomp saam?
- Insight maatjies
- Accu-Chek Insight
- %1$s:%2$s
- Pyp verander
- Sig
- Afsnytyd gedurende handskud - terugstel bluetooth
- Pomp gestop
- Pomp is begin
- Laaste kon: %1$d min gelede
- TBR: %1$d%% vir %2$d / %3$d min
- Verleng: %1$.2f / %2$.2f U vir %3$d min
- Multigolf: %1$.2f / %2$.2f U vir %3$d min
- TDD: %1$.2f
- Bat.: %1$d%%
- Vrygestelde sagteware weergawe
- UI verwerker sagteware weergawe
- PC verwerker sagteware weergawe
- MD tel verwerker sagteware weergawe
- Veiligheid verwerker sagteware weergawe
- BT info bladsy weergawe
- Bluetooth adres
- Stelsel ID Aanhangsel
- Vervaardigings datum
- Verwyder maats
- Log ligging veranderings
- Log stoor veranderinge
- Log voerpyp verandering
- Log battery verandering
- Log bedryf modus veranderinge
- Log alarms
- Skakel TBR emulasie aan
- Gebruik verlengde boluses in plaas van TBRs om die 250%% perk te omseil
- Ontkoppel vertraging [s]
- Max. herstel duur [s]
- Min. herstel duur [s]
- Pomp alarm
- Maat inligting
-
diff --git a/insight/src/main/res/values-ja-rJP/alert_codes.xml b/insight/src/main/res/values-ja-rJP/alert_codes.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/insight/src/main/res/values-ja-rJP/alert_codes.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/insight/src/main/res/values-ja-rJP/alert_descriptions.xml b/insight/src/main/res/values-ja-rJP/alert_descriptions.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/insight/src/main/res/values-ja-rJP/alert_descriptions.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/insight/src/main/res/values-ja-rJP/alert_titles.xml b/insight/src/main/res/values-ja-rJP/alert_titles.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/insight/src/main/res/values-ja-rJP/alert_titles.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/insight/src/main/res/values-ja-rJP/exceptions.xml b/insight/src/main/res/values-ja-rJP/exceptions.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/insight/src/main/res/values-ja-rJP/exceptions.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/insight/src/main/res/values-ja-rJP/strings.xml b/insight/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/insight/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/insight/src/main/res/values-nb-rNO/strings.xml b/insight/src/main/res/values-nb-rNO/strings.xml
index 3e678013b2..9a923b443f 100644
--- a/insight/src/main/res/values-nb-rNO/strings.xml
+++ b/insight/src/main/res/values-nb-rNO/strings.xml
@@ -1,7 +1,7 @@
- Aktiver varsel når slutt på temp basal\n(pumpeinnstilling)
- Slå av varsel når slutt på temp basal\n(pumpeinnstilling)
+ Aktiver varsel når slutt på midlertidig basal\n(pumpeinnstilling)
+ Slå av varsel når slutt på midlertidig basal\n(pumpeinnstilling)
Ikke sammenkoblet
Gjenoppretter
Status
@@ -32,7 +32,7 @@
Slå av vibrasjoner på manuell bolus
For bolus og forlenget bolus (bare tilgjengelig med Insight firmware 3.x)
Slå av vibrasjoner ved automatisk bolus
- For SMB og temp basal med TBR emulering (bare tilgjengelig med Insight firmware 3.x)
+ For SMB og midlertidig basal med TBR emulering (bare tilgjengelig med Insight firmware 3.x)
En timeout oppstod i paringsprosessen - restart Bluetooth
Pumpen stoppet
Pumpen startet
@@ -60,7 +60,7 @@
Logg endring i driftsmodus
Logg varslinger
Aktiver emulering av TBR
- Bruk forlenget bolus i stedet for temp basaler for å omgå 250%% grensen
+ Bruk forlenget bolus i stedet for midlertidig basaler for å omgå 250%% grensen
Utsett frakobling [s]
Maks pause mellom tilkoblingsforsøk [s]
Min pause mellom tilkoblingsforsøk [s]
diff --git a/plugins/aps/src/main/res/values-af-rZA/strings.xml b/plugins/aps/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index aaf21f14b7..0000000000
--- a/plugins/aps/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
- Hoë tydelike doelwitte verhoog sensitiwiteit
- = 100]]>
- Lae tydelike doelwitte verlaag sensitiwiteit
-
- OpenAPS SMB
- Plugin is gedeaktiveer
- Geen beskikbare glukose data
- Geen autosens data beskikbaar
- Besig met uitvoering
- OpenAPS AMA
- Matriks van %1$d elemente. \nWerklike waarde:
- OAPS
- Status van die algoritme in 2017
- Mees onlangse algoritme vir gevorderde gebruikers
- Bolus sluimer dia divisor
- Begin nou
- Vorige lopie
- Insette parameters
- Glukose status
- Huidige temp
- IOB data
- Profiel
- Maaltyd data
- Versoek
- Beperkings
- Autosens data
- Skrip foutopspoor
- Gebruik autosens kenmerk
- Die waarde word \"maks basal\" genoem in OpenAPS konteks
- Maksimum basale IAB wat OpenAPS mag lewer [U]
- Hierdie waarde word Maks IAB genoem in OpenAPS konteks\nDit is die maksimum insulien in [U] wat APS op een slag kan lewer.
- Verstek waarde: waar\nDit word gebruik om autosens toe te laat om BG teikens aan te pas, benewens ISF en basale.
- Verstek waarde: 3.0 (AMA) of 8.0 (SMB). Dit is \'n instelling vir verstek karb absorpsie impak per 5 minute. Die verstek is \'n verwagte 3mg/dl / 5min. Dit beïnvloed hoe vinnig KOB opgeneem word, en hoeveel karb absorpsie word aanvaar sodat in die berekening van toekomstige BG, voorspel wanneer BG val meer as verwagte, of nie soveel styg as verwag.
- Verstek waarde: 3 dit is \'n sleutel OpenAPS veiligheidsdrumpels. Wat dit doen is om jou basale te berk tot 3 x (in hierdie mense) jou grootste basale koers. Jy sal waarskynlik nooit dit hoef te verander, maar jy moet bewus wees wat bespreek is oor \"3 x max daaglikse; 4 x huidige\"vir veiligheidsdrumpels.
- Verstek waarde: 4 dit is die helfte van die sleutel OpenAPS veiligheid limiete, en die ander helfte van \"3 x maks daaglikse; 4 x huidige\"van die veiligheid limiet. Dit beteken jou basale, ongeag max basale stel op jou pomp, kan enige hoër wees as hierdie nommer tye die huidige vlak van jou basale. Dit is om te verhoed dat mense in gevaarlike gebied deur instelling buitensporig hoë max basals voor om te verstaan hoe die algoritme werk. Weer, die verstek is 4 x; die meeste mense sal nooit moet dit aanpas en is eerder meer geneig om te moet aanpas ander instellings as hulle voel hulle \"loop in\" hierdie veiligheid limiet.
- Verstek waarde: 2\nBolus sluimer is verorden nadat jy \'n maaltyd bolus gedoen het, so die lus sal nie werk met lae tydelike wanneer jy nou net geëet het nie. Die voorbeeld hier se verstek is 2; so \'n 3 uur DIA beteken dat bolus sluimer sal geleidelik uitgefaseer sal word oor 1.5 uur (3DIA/2).
- Aandag! \nNormaalweg hoef jy nie die waardes hieronder te verander nie. KLIEK HIER Asseblief en LEES die teks en maak seker jy verstaan dit voor enige verandering aan hierdie waardes.
- Gebruik altyd kort gemiddelde delta in plaas van eenvoudige delta
- Maks daaglikse veiligheids vermenigvuldiger
- Huidige basale veiligheids vermenigvuldiger
- Maksimum totale IAB OpenAPS kan nie oor [U] gaan
- Hierdie waarde is Maks IAB genoem in OpenAPS kontekst\nOpenAPS sal nie meer insulien byvoeg as huidige IAB is groter as hierdie waarde
- Aktiveer UAM
- Aktiveer SMB
- Gebruik Super Mikro Boluses in plaas van of tydelike basale vir vinniger resultate
- Opsporing van Onaangekondigde etes
- Aktiveer SMB altyd
- Aktiveer SMB altyd onafhanklik van boluse. Slegs moonlik met BG source met goeie filter van data soos G5
- Aktiveer SMB na koolhidrate
- Akitveer SMB vir 6h na karbohidrate, selfs met 0 KOB. Slegs moontlik met BG bron met goeiei filters van data soos G5
- Akitveer SMB met KOB
- Aktiveer SMB wanneer daar KOB aktief is.
- Aktiveer SMB met tydelike doelwitte
- Aktiveer SMB wanneer daar tydelike doelwitte aktief is (eetgou, oefen)
- Aktiveer SMB met hoë tydelike doelwitte
- Maks minute van basale beperk SMB tot
- maks basale vermenigvuldiger
- maks daaglikse basale vermenigvuldiger
- SMB gedeaktiveer in voorkeure
- UAM in voorkeure gedeaktiveer
- Autosens gedeaktiveer in voorkeure
-
- Beperk IAB tot %1$.1f U agv %2$s
- maks waarde in voorkeure
- harde limiet
-
-
- \'n Bolus was binne die laaste 3 minute afgelewer, SMB is oorgespring
- LUS
- Aktiveer of deaktiveer die implementering die lus wakker maak.
- Basale reggestel
- APS
-
diff --git a/plugins/aps/src/main/res/values-ja-rJP/strings.xml b/plugins/aps/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 5ba7222cd7..0000000000
--- a/plugins/aps/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- プロファイル
-
-
-
-
diff --git a/plugins/automation/src/main/res/values-af-rZA/strings.xml b/plugins/automation/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 49d7de5e61..0000000000
--- a/plugins/automation/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
- Outo
- Outomatisasie
- Gebruiker outomatiesasie aksies
- Verskaf asb \'n aksie.
- Gee asseblief ten minste een sneller.
- Spesifisieer ten minste een aksie.
- Alarm:
- Msg:
- Reeds aangeskakel
- Reeds afgeskakel
- Alreeds opgeskort
- Nie opgeskort
- Skort lus vir %1$d min
- Kennisgewing: %1$s
- Verander profiel na
- Verander profiel na %1$s
- Laaste konneksie na pomp
- Laaste konneksie na pomp [minute gelede]
- Vorige konneksie na pomp %1$s %2$s min terug
- Profiel persentasie
- Begin profiel %1$d%%
- Persentasie [%]:
- Stuur\'n SMS: %1$s
- Stuur\'n SMS met die teks
- Tydelike teiken begin
- is minder as
- is ewe of groter as
- is gelyk aan
- is ewe of groter as
- is groter as
- is nie beskikbaar nie
- Glukose is nie beskikbaar nie
- Glukose %1$s %2$.0f %3$s
- Glukose %1$s %2$.1f %3$s
- Profiel pct %1$s %2$d
- IAB %1$s %2$.1f
- Of
- Eksklusiewe of
- By %1$s
- Gebruik netwerk ligging
- GPS ligging
- Gebruik passiewe ligging
- Liggingdienste
- Kort gem. delta
- Lang gem. delta
- Delta
- %1$s %2$s
- Tyd reeks
- Tyd is tussen %1$s en %2$s
- Tussen
- DEL
- ADD
- Kopieer
- Tydelike teiken %1$s
- WiFi SSID %1$s %2$s
- Autosens %1$s %2$s %%
- Outosens %
- %3$s %1$s %2$s
- BG verskil
- Huidige Ligging
- Ligging
- Breedte:
- Lengte:
- Glukose [%1$s]:
- Laaste bolus
- Laaste bolus tyd %1$s %2$s min terug
- KOB
- KOB %1$s %2$.0f
- IAB [U]:
- Afst [m]:
- Herhaaltyd
- Elke
- Nooit
- Voorwaarde:
- Aksie:
- Aksie naam
- WYSIG
- Snellers:
- Vereistes:
-
-
diff --git a/plugins/automation/src/main/res/values-ja-rJP/strings.xml b/plugins/automation/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 49a964a9e8..0000000000
--- a/plugins/automation/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- デルタ
-
-
-
diff --git a/plugins/configuration/src/main/assets/AAPS V2.zip b/plugins/configuration/src/main/assets/AAPS V2.zip
new file mode 100644
index 0000000000..77de36f142
Binary files /dev/null and b/plugins/configuration/src/main/assets/AAPS V2.zip differ
diff --git a/plugins/configuration/src/main/assets/AAPS.zip b/plugins/configuration/src/main/assets/AAPS.zip
new file mode 100644
index 0000000000..fa1c9a7df8
Binary files /dev/null and b/plugins/configuration/src/main/assets/AAPS.zip differ
diff --git a/plugins/configuration/src/main/assets/SteamPunk mgdl.zip b/plugins/configuration/src/main/assets/SteamPunk mgdl.zip
deleted file mode 100644
index f78a49f240..0000000000
Binary files a/plugins/configuration/src/main/assets/SteamPunk mgdl.zip and /dev/null differ
diff --git a/plugins/configuration/src/main/assets/SteamPunk mmol.zip b/plugins/configuration/src/main/assets/SteamPunk mmol.zip
deleted file mode 100644
index e15fb0fc2b..0000000000
Binary files a/plugins/configuration/src/main/assets/SteamPunk mmol.zip and /dev/null differ
diff --git a/plugins/configuration/src/main/assets/SteamPunk.zip b/plugins/configuration/src/main/assets/SteamPunk.zip
new file mode 100644
index 0000000000..2129ff923e
Binary files /dev/null and b/plugins/configuration/src/main/assets/SteamPunk.zip differ
diff --git a/plugins/configuration/src/main/res/values-af-rZA/strings.xml b/plugins/configuration/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index b8302b3a89..0000000000
--- a/plugins/configuration/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
- Eenhede
- Volgende
- Vorige
- Opstel Ghoeroe
- EINDIG
- Welkom by opstelling-Ghoeroe. Dit sal jou lei deur die opstelling proses\n
- Eindverbruiker Lisensie Ooreenkoms
- MOET NIE GEBRUIK WORD OM MEDIESE BESLUITE TE MAAK NIE. DAAR IS GEEN WAARBORG DAT DIE PROGRAM, ONDERWORPE AAN TOEPASSELIKE WETTE EN WETGEWING. TENSY ANDERS GEMELD IN TEKS VOORSIEN DIE KOPIEREG-HOUERS EN / OF ANDER PARTYE DIE PROGRAM \"AS IS\" SONDER ËNIGE WAARBORG VAN ENIGE ORDE, UITDRUKKELIK OF IMPLISIET, INKLUSIEF, MAAR NIE BEPERK TOT DIE IMPLISIETE WAARBORG VAN TOEPAASBAARHEID OF NUT VIR EEN SPESIFIEKE DOEL. DIE TOTALE EN ALLE RISIKOVIR DIE KWALITEIT EN PRESTASIE VAN DIE PROGRAM RUS MET JOUSELF. VIR ENIGE PROGRAM DEFEKTIEWE OF FALINGS MOET JY PERSOONLIK DIE KOSTE EN REGSAANSPREEKLIKHEID DRA VAN ALLE NODIGE AKSIES, DIENS, REPARASIES OF KORREKSIES VIR USELF OF ENIGE DERDE PARTYE EN/OF AKSIES, DIENS, REPARASIES OF KORREKSIES WAT DEUR DIE PROGRAM GEDOEN WAS.
- EK VERSTAAN en STEM IN
- Vertooninstellings
- LAE merk
- HOË punt
- Toestemming
- Vra vir toestemming
- Gestoorde instellings gevind
- Status:
- Onthou asseblief: dat nuwe insulien profiele vereis DIA van minstens 5h. DIA 5 – 6h op nuwe profiel is gelyk aan DIA 3h op ou insulien profiele.
- Profiel
- Slaan opstelling-Ghoeroe oor
- Sensitiwiteit plugin vir sensitiwiteit opsporing en KAB berekening. Vir meer inligting besoek:
- Kies een van beskikbare algoritmes. Hulle is gesorteer vanaf oudste tot jongste. Nuwer algoritmes is gewoonlik kragtiger en meer aggressief. Dus as jy nuut is met jou lus, sal jy waarskynlik begin met AMA en nie met jongste een. Moenie vergeet om die OpenAPS dokumentasie te lees en te konfigureer voor gebruik.
- Begin jou eerste doelwit
- Lees status
- Data keuses
- Fabric Upload
- Laat outomatiese Foutverslagdoening en kenmerk data stuur na die ontwikkelaars via die fabric.io diens.
- Versoek
- APS modus
- Verkose APS modus
-
- Konfigurasie bouer
- Pomp
- Profiel
- APS
- Watter APS algoritme moet terapie aanpassings maak?
- Algemene
- Hier is \'n paar algemene invoegtoepassings wat jy dalk nuttig sal vind.
- Watter beperkings word toegepas?
- Lus
- Watter tipe insulien gebruik jy?
- BG bron
- Sensitiwiteit opsporing
- Watter sensitiwiteit algoritme moet gebruik word?
- CONF
- Gebruik vir die aktiewe plugins te konfigureer
-
- Voorkeure
- Voer instellings in
- Voer instellings uit na
- Uitvoer instellings na
- Voer instellings in vanaf
- Instellings ingevoer
- Voorkeure uitgevoer
- Lêer nie gevind nie
- Begin toepassing weer om instellings toe te pas.
-
- Onderhoud
- MAINT
- Bied verskeie funksies vir onderhoud (bv. log stuur, log skrapping).
- Wil jy regtig die databasis herstel?
- Onderhoud instellings
- E-pos
- Hoeveel Logs om te stuur
- Stuur Logs per Epos
- Skrap joernaal
- Nightscout-weergawe:
- Ingenieurswese modus geaktiveer
- Logboekinstellings
- Herstel databasis
- Herstel na verstek
-
-
-
-
-
diff --git a/plugins/configuration/src/main/res/values-ja-rJP/strings.xml b/plugins/configuration/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index e0bd486057..0000000000
--- a/plugins/configuration/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- Units
- 低血糖マーク
- 高血糖マーク
- プロファイル
-
- コンフィグビルダー
- ポンプ
- AAPSで使用するポンプはどれですか?
- プロファイル
- どのプロファイルを使用しますか?
- APS
- どのアルゴリズムを使用しますか?
- 全般
- CONF
- アクティブなプラグインの設定に使用
-
- 設定
- インポートされた設定を復元するために、マスターパスワードが必要です。
- エクスポートをキャンセルしました!設定はエクスポートされませんでした!
- インポートがキャンセルされました!設定はインポートされませんでした!
- 設定をインポートできません!
- 設定をエクスポート
- 設定をエクスポート
- 設定をインポート:
- 設定をインポートしました
- 古いマスターパスワードです
- このファイルは異なるマスターパスワードでエクスポートされ暗号化されました。ファイルを復号するには古いマスターパスワードを入力してください。
- マスターパスワードはインポートされ、古いマスターパスワードは置き換えられます。
- 設定をエクスポートしました
- ファイルが見つかりません
- メイン画面に戻ってもう一度やり直してください。
- アプリケーションを終了して設定を適用します
- ユーザーエントリをエクスポートしました
-
- データベースをリセットしますか?
- Nightscoutバージョン:
- リセット データベース
-
-
-
-
diff --git a/plugins/constraints/src/main/res/values-af-rZA/exam.xml b/plugins/constraints/src/main/res/values-af-rZA/exam.xml
deleted file mode 100644
index 1ac932370b..0000000000
--- a/plugins/constraints/src/main/res/values-af-rZA/exam.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- Wat is waar oor DIA?
- Watter profiel kan gebruik en ingestel word van lyn af?
- Onderwerp: Aflyn Profiel
- NS-Profiel kan gebruik word, maar nie ingestel.
- Wat moet gedoen word as CGM data raserig is?
- \'n Google-rekening.
- \'n Github rekening.
- \'n Slimhorlosie.
-
diff --git a/plugins/constraints/src/main/res/values-af-rZA/objectives.xml b/plugins/constraints/src/main/res/values-af-rZA/objectives.xml
deleted file mode 100644
index 7f33087202..0000000000
--- a/plugins/constraints/src/main/res/values-af-rZA/objectives.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
- Begin
- Verifieer
- %1$d. Doelwit
- Doel %1$d nie begin
- Objektief %1$d nie klaar
- Opstel van visualisering en monitering, en ontleed basale en verhoudings
- Bevestig dat BG is beskikbaar in Nightscout, en insulien pomp data is opgelaai
- Begin op\'n oop lus
- Loop in oop lus modus vir \'n paar dae en boots met hand met baie tydelike basale. Stel tydelike gebruik en verstek tydelike teikens (bv. vir aktiwiteit of hipo behandeling koolhidrate)
- Verstaan jou oop lus, insluitend sy tydelike basale aanbevelings
- Gebaseer op daardie ervaring, besluit watter maks basale moet gebruik word, en stel dit op die pomp en voorkeure
- Begin toe die lus met lae glukose opgeskort
- Loop in geslote lus met max IAB = 0 vir \'n paar dae sonder te veel LGS gebeure
- Verstel die geslote lus, verhoog maks IAB bo 0 en geleidelik verlaag BG doelwitte
- Lus vir \'n paar dae, en ten minste een nag met geen lae BG alarms, voor BG val
- Pas basale en verhoudings aan as nodig, en dan aktiveer auto-sens
- 1 week suksesvolle dagtyd lus met gereelde karb toevoegings
- Skakel bykomende nutsfunskies aan vir bedags gebruik, soos bv. SMB
- Per hand aksies
- Bereik: %1$s
- Stel profiel 90% vir 10 min (Lang-pers profiel naam op Oorsig)
- Simuleer stort. Ontkoppel pomp vir 1h (Lang-pers op\'n Oop Lus)
- ... en weer terug in die dieselfde manier
- Skep\'n persoonlike tydelike teiken met 10 min duur (Lang-pers op jou huidige teiken)
- In die konfig Bouer aktiveer Aksies plugin, maak dit sigbaar en vertoon die inhoud van die top menu
- Vertoon die inhoud van die Lus plugin
- Gebruik skaal funksie deur\'n lang druk op BG grafiek
- Bewys jou kennis
- Beantwoording opgeskort tot: %1$s
- Verkeerde antwoord!
- Volgende onvoltooide
- Versoek kode: %1$s
- (kyk al die korrekte antwoorde)
- Nie aan internet gekoppel nie
- Misluk haal tyd
- Objektiewe vereistes nie nagekom nie
-
diff --git a/plugins/constraints/src/main/res/values-af-rZA/strings.xml b/plugins/constraints/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 960ad5f64e..0000000000
--- a/plugins/constraints/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
- Beperk koolhidrate tot %1$d g agv %2$s
- Pomp is nie tydelike basale bekwame
- Geslote lus modus in voorkeure gedeaktiveer
- Veranderende ontwikkelende weergawe. Geslote lus is gedeaktiveerd.
- SMB is altyd na koolhidrate versper omdat aktiewe BG bron nie gevorderde filter ondersteun nie
- SMB nie toegelaat in open lus modus
- maks waarde in voorkeure
- harde limiet
- Behandelings veiligheid
-
- Nog nie voltooi nie
- Tydsverloop
- Maksimum IAB behoorlik gestel
- BG beskikbaar vanaf geselekteerde bron
- Lus geaktiveer
- APS gekies
- Geslote modus geaktiveer
- OBJ
- Onderrig program
-
diff --git a/plugins/constraints/src/main/res/values-ja-rJP/exam.xml b/plugins/constraints/src/main/res/values-ja-rJP/exam.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/plugins/constraints/src/main/res/values-ja-rJP/exam.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/plugins/constraints/src/main/res/values-ja-rJP/objectives.xml b/plugins/constraints/src/main/res/values-ja-rJP/objectives.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/plugins/constraints/src/main/res/values-ja-rJP/objectives.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/plugins/constraints/src/main/res/values-ja-rJP/strings.xml b/plugins/constraints/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 25fed4a847..0000000000
--- a/plugins/constraints/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/constraints/src/main/res/values-nb-rNO/exam.xml b/plugins/constraints/src/main/res/values-nb-rNO/exam.xml
index ee21a0a22c..b11346f829 100644
--- a/plugins/constraints/src/main/res/values-nb-rNO/exam.xml
+++ b/plugins/constraints/src/main/res/values-nb-rNO/exam.xml
@@ -7,8 +7,8 @@
https://wiki.aaps.app/en/latest/Configuration/Config-Builder.html#insulin
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.
Du må selv bestemme hvilken verdi som passer for DIA.
- Hypo Temp-Target (TT)
- Hva er hovedgrunnen til å velge en hypo temp-target?
+ Hypo midlertidig mål (TT)
+ Hva er hovedgrunnen til å velge et Hypo midlertidig mål?
For å korrigere følinger som er forårsaket av feil i dine basalinnstillinger.
For å forhindre at AAPS overkorrigerer for en blodglukoseøkning forårsaket av de hurtigvirkende karbohydratene som brukes til behandling av en hypo.
For å korrigere for en føling som er et resultat av trening.
@@ -55,11 +55,11 @@
Trening og midlertidige målverdier (temp targets)
Hvordan kan du bruke midlertidige målverdier til å hjelpe systemet å håndtere aerobic trening?
Sett et midlertidig mål for blodsukkeret som starter en passende tid før treningen begynner.
- Angi en temp mål for Trening etter at du har avsluttet treningen.
+ Angi et midlertidig mål for Aktivitet etter at du har avsluttet treningen.
La målverdien for ditt blodsukker være uforandret.
- Vent til blodsukkeret ditt synker under Hypo temp target og spis så 15 gram med hurtigvirkende karbohydrater.
+ Vent til blodsukkeret ditt synker under Hypo midlertidig mål og spis så 15 gram med hurtigvirkende karbohydrater.
https://wiki.aaps.app/en/latest/Usage/temptarget.html#activity-temp-target
- Får jag insulin når loop er stanset/pauset?
+ Får jeg insulin når loop er stanset/pauset?
Ja, basal insulin vil fortsatt bli levert.
Nei, levering av insulin er stanset.
Test av basaldoser, ISF og KH ratio
@@ -150,7 +150,7 @@
Ved å sette profilen til 150% påvirkes ikke beregningen av absorbering av karbohydrater
https://wiki.aaps.app/en/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value
IOB verdi påvirkes av midlertidige temp basaler.
- Høy temp basal vil ikke bli gitt når ditt blodsukker er under målverdi.
+ Høy midlertidig basal vil ikke bli gitt når ditt blodsukker er under målverdi.
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.
Positiv IOB for en lengre periode tyder på enten økt insulinresistens eller uannonserte måltider.
Karbohydrater og bolus
@@ -207,7 +207,7 @@
Hvis du står opp 2 timer tidligere enn vanlig, hvordan forteller du AndroidAPS om endringen i døgnrytmen din?
Gjør et profilbytte med en tidsforskyvning på 2
Gjør et profilbytte med en tidsforskyvning på -2
- Angi et \"spise snart\" temp target.
+ Angi et \"Spise snart\" midlertidig mål.
Gjør et profilbytte til mer enn 100%.
https://wiki.aaps.app/en/latest/Usage/Profiles.html#timeshift
Endring av profil
diff --git a/plugins/constraints/src/main/res/values-nb-rNO/objectives.xml b/plugins/constraints/src/main/res/values-nb-rNO/objectives.xml
index 1ab33145aa..9663716381 100644
--- a/plugins/constraints/src/main/res/values-nb-rNO/objectives.xml
+++ b/plugins/constraints/src/main/res/values-nb-rNO/objectives.xml
@@ -54,12 +54,12 @@
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).
Du lærte betydningen av ISF-verdien og hvordan det påvirker mengden insulin som brukes for korreksjon av BS.
Du lærte betydningen av IK-verdien og hvordan det påvirker mengden insulin som brukes for dekke karbohydratene.
- 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.
+ 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.
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%%).
Ved å bruke tidsskifte i profilbytte kan du tilpasse døgnprofilen til uregelmessigheter som for eksempel en sen oppvåkning.
Redigering av profilen er ikke tilstrekkelig til å gjøre en endring. Du må fremdeles fysisk aktivere et profil bytte for å registrere endringene.
Du bør redusere mengden insulin i kroppen minst 1 time før du starter treningen ved å velge profil under 100 %.
- Ved å sette høyere temp target minst 1 time før trening så vil det bidra til å redusere mengden med insulin i kroppen.
+ Ved å sette høyere midlertidig mål minst 1 time før trening så vil det bidra til å redusere mengden med insulin i kroppen.
Hvis du ikke stoler på CGM-verdier bør du ikke bruke loop uten tilsyn.
AAPS må vite at pumpen ikke er tilkoblet for å beregne IOB riktig.
Å vite hvilken type insulin som er i pumpen er nødvendig for å beregne IOB korrekt.
diff --git a/plugins/constraints/src/main/res/values-pt-rBR/strings.xml b/plugins/constraints/src/main/res/values-pt-rBR/strings.xml
index 65f5dcc99c..12842503ca 100644
--- a/plugins/constraints/src/main/res/values-pt-rBR/strings.xml
+++ b/plugins/constraints/src/main/res/values-pt-rBR/strings.xml
@@ -48,6 +48,6 @@
Deseja reiniciar o objetivo? Pode perder seu progresso.
Próxima
Anterior
- Redefinir estado terminado
- Redefinir estado terminado
+ Reiniciar objetivo
+ Reiniciar objetivo
diff --git a/plugins/insulin/src/main/res/values-af-rZA/strings.xml b/plugins/insulin/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 5fb6d9b49a..0000000000
--- a/plugins/insulin/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- Insulien voorkeure vir Humalog en NovoRapid / NovoLog
- Insulien voorkeure vir Fiasp
- Laat jou toe om die piek van die insulien aktiwiteit definieer en behoort slegs gebruik te word deur gevorderde gebruikers
- INS
- IAB kurwe piek tyd
- Piek tyd [min]
- Vry-piek Oref
- Snelaksie Oref
- DIA van %1$f is te kort - %2$f in stede gebruik!
-
diff --git a/plugins/insulin/src/main/res/values-ja-rJP/strings.xml b/plugins/insulin/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 202a838052..0000000000
--- a/plugins/insulin/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/plugins/main/src/main/res/layout/overview_fragment.xml b/plugins/main/src/main/res/layout/overview_fragment.xml
index d55930675a..a55025674e 100644
--- a/plugins/main/src/main/res/layout/overview_fragment.xml
+++ b/plugins/main/src/main/res/layout/overview_fragment.xml
@@ -28,9 +28,11 @@
android:id="@+id/loop_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:layout_marginEnd="4dp"
android:orientation="horizontal" >
-
-
@@ -72,7 +68,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
- android:layout_marginTop="4dp"
+ android:layout_marginTop="1dp"
app:cardCornerRadius="4dp"
app:contentPadding="2dp"
app:cardElevation="2dp"
diff --git a/plugins/main/src/main/res/values-af-rZA/strings.xml b/plugins/main/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 12d888af2c..0000000000
--- a/plugins/main/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
- SMS Communicator
- SMS
- Verkeerde kode. Opdrag gekanselleer.
- Toegelate telefoon nommers
- +XXXXXXXXXX;+YYYYYYYYYY
- Om %1$.2fU bolus te lewer antwoord met kode %2$s
- Om kalibrasie %1$.2f te stuur antwoord met kode %2$s
- Bolus het misluk
- Laat afstandbeheerde bevele toe via SMS
- Loop is gedeaktiveer
- Loop is geaktiveerd
- Lus geaktiveer
- Afstandbeheerde bevel word nie toegelaat nie
- Afstandbeheerde bolus nie beskikbaar nie. Probeer later weer.
- Om profiel te verander na %1$s %2$d%% antwoord met %3$s
- Om basal e %1$d%% vir %2$d min te begin kies %3$s
- Om lus op te skort vir %1$d minute antwoord met kode %2$s
- Temp basale %1$.2fU/h vir %2$d min suksesvol geaktiveerd
- Verlengde bolus %1$.2fU vir %2$d min is begin
- Tydelike basale %1$d%% vir %2$d min hardloop
- Tydelike basale aktivering het gefaal
- Verlengde bolus het misluk
- Stop tydelike basale antwoord met kode %1$s
- Stop tydelike basale antwoord met kode %1$s
- Tydelike basale gekanselleer
- Verlengde bolus gekanselleer
- Kansellassie van tydelike basale het gefaal
- Kansellasie van verlengde bolus het misluk
- Onbekende opdrag of verkeerde opsie
- Verkeerde duur
- Lus opgeskort
- Lus hervat
- Ongeldige SMS selfoon nommer
- Kalibrasie gestuur. Ontvang moet geaktiveer word in xDrip+.
- Ongeldig boodskap teks
- Verkeerde formaat
- BG:
- Laaste BG:
- Delta:
- IAB:
- Bolus:
- Basale:
- %1$d min terug
- Opgeskort (%1$d m)
- Lees status gefaal
- Profiel skakelaar geskep
- Loop Afgeskakel
-
- Kos
- Vertoon kos-voorafinstellings soos omskryf in Nightscout
- Kos
- kJ
- En
- Pr
- Vet
- Kategorie
- Subkategorie
- Rekenaar
-
-
- Profiel
- LP
- Definieer\'n profiel wat beskikbaar is aflyn.
- Eenhede:
- Foute
- DIA
- BAS
-
- Aksies
- \'n Paar knoppies vir vinnige algemene nutsfunskies
- ACT
- TydelikeBasaal
- Verlengde Bolus
- Kanselleer Verlengde Bolus
- Geskiedenis blaaier
- Sensor
- Insulien
-
- Wys status vlae op tuisskerm
- Drempel waarskuwings stoor vlak [U]
- Drempel kritieke stoor vlak [U]
- insulien
- Aanvaar nuwe tydelike basale:
- CGM
- Oorsig
- TUIS
- Wys die huidige staat van jou lus en knoppies vir mees algemene optrede
- Knoppies
- Dexcom toep is nie geïnstalleer nie.
- Hernuwe asseblief jou G5 toepassing na \'n ondersteunde weergawe
- Kon nie CGM toepassing laat hardloop nie. Maak seker dat dit geïnstalleer is.
- Nie beskikbaar nie
- Beperkings skending
- Verander jou insette!
- OpenAPS
- Oplaaier
- SlimNutsman instellings
- Hou skerm aktief
- Verhoed dat Android skerm afskakel. Dit sal baie meer energie vereis wanneer nie in krag prop is nie.
- Behandelings
- Hoeveelheid karbs om by te voeg op druk van knoppie
- Hoeveelheid Insulien om by te voeg op druk van knoppie
- Eerste insulien inkrement
- Tweede insulien inkrement
- Derde insulien inkrement
- Eerste koolhidrate inkrement
- Tweede koolhidrate inkrement
- Derde koolhidrate inkrement
- CGM
- Verstek Tydelike-doelwitte
- eetgou durasie
- eetgou doelwit
- aktiwiteits tydsduur
- aktiwiteit doelwit
- hipo duur
- hipo doelwit
- Vul/prima standaard insulien hoeveelhede
- Knoppie 1
- Knoppie 2
- Knoppie 3
- Reeks vir visualisering
- Hoë en lae merke vir die diagramme in Overview en Smartwatch
- LAE merk
- HOË punt
- Verkort oortjie titels
- Wys notas veld in behandeling dialoë
- Ontsper superbolus in Ghoeroe
- Ontsper superbolus funksionaliteit in Ghoeroe. Moenie aktiveer totdat jy leer wat dit werklik doen. DIT KAN \'n INSULIEN OORDOSIS VEROORSAAK AS BLINDELINGS GEBRUIK WORD!
-
- Projeksies
- Behandelings
- Aktiwiteit
- Sensitiewiteit
- Afwykings
- Karbs AanBoord
- Insulien AanBoord
- Basale
- BAS
- ACT
- BEHANDEL
- SENS
-
-
- Stuur vandag se loglêers aan ontwikkelaars saam met hierdie tyd. Onverwagte situasie.
-
- WEAR
- nie suksesvol - Kontroleer asseblief foon
- Wear instellings
- Kontroles van horlosie
- Stel tydeleike doelwitte en behandelings vanaf horlosie.
- Berekeninge is ingesluit in die ghoeroe verslag:
- Algemene instellings
- Vermeld op SMB
- Wys SMB op horlosie soos \'n standaard bolus.
- Stuur alle Data weer
- Oop instellings op Wear
-
- Toon \'n voortgesette kennisgewing met \'n kort oorsig van wat jou lus besig is om te doen
- OU DATA
-
diff --git a/plugins/main/src/main/res/values-ja-rJP/strings.xml b/plugins/main/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 2415bd8e9b..0000000000
--- a/plugins/main/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
- ポンプへの接続に失敗しました
- ポンプが切断されました
- ポンプが再接続しました
- リモートコマンドが許可されていません
- リモートボーラスが利用できません。後でもう一度お試しください。
- デルタ:
- ベーサル:
-
-
-
- プロファイル
- Units:
- DIA
- BAS
-
- ACT
-
- 概要
- HOME
- Loopの状態と一般的なボタンの表示
- ボタン
- Xdrip+にキャリブレーションを送付する。もしくはBYODAキャリブレーションダイアログを開く。
- Opens xDrip+ か BYODAを開く、 戻るボタンでAAPSに戻る。
- CGM アプリケーションを起動できません。インストールされていることを確認してください。
- 制約違反
- 入力を変更します!
- OpenAPS
- アップローダー
- クイックウィザードの設定
- 画面をオンに保つ
- Androidが画面をオフにするのを防ぎます。電源コンセントに接続されていないと、多くのエネルギーを消費します。
- 治療
- ボタンが押されたときに追加する炭水化物数
- ボタンを押すと追加するインスリン量
- デフォルトの一時ターゲット
- eatingsoon 時間
- eatingsoon ターゲット
- アクティビティ 時間
- アクティビティ ターゲット
- 低血糖 時間
- 低血糖 ターゲット
- 表示範囲
- スマートウォッチ チャートの高血糖 低血糖マーク
- 低血糖マーク
- 高血糖マーク
- タブのタイトルを短縮
- ウィザードでスーパーボーラスを有効化
- ウィザードでスーパーボーラス機能を有効にします。どういう機能か本当に理解出来るまで有効にしないでください。使用中の場合は、無効にすることができます!
-
- 治療
- PRED
- BAS
- DEV
- ACT
- -BGI
- ABS
- DEVSLOPE
- TREAT
-
-
-
- WEAR
- WearOS ウォッチを使用して AAPS を監視、制御します。
- 失敗しました - 携帯電話をご確認ください
- ウェアの設定
- ウォッチからコントロール
- ウォッチから一時ターゲットとトリートメントを入力。
- SMBを通知する
- すべてのデータを再送信
- ウェアの設定を開く
-
- ループの状態を通知に表示する
- 旧データ
-
diff --git a/plugins/main/src/main/res/values-nb-rNO/strings.xml b/plugins/main/src/main/res/values-nb-rNO/strings.xml
index 744707877f..80763c022b 100644
--- a/plugins/main/src/main/res/values-nb-rNO/strings.xml
+++ b/plugins/main/src/main/res/values-nb-rNO/strings.xml
@@ -156,7 +156,7 @@
Handlinger
Hurtigknapper for rask tilgang til ofte brukte funksjoner
- HNDL
+ HAN
Midlertidig basal
Forlenget bolus
Avbryt forlenget bolus
diff --git a/plugins/sensitivity/src/main/res/values-af-rZA/strings.xml b/plugins/sensitivity/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 4fa0e23c11..0000000000
--- a/plugins/sensitivity/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- SENS
- Sensitiwiteit Oref1
- Sensitiwiteit AAPS
- Sensitiwiteit GeweegdeGemiddelde
- Sensitiwiteit word bereken op dieselfde manier as Oref0, maar jy kan die tydsraamwerk spesifiseer in die verlede. Minimale karb absorpsie is bereken uit maks karb absorpsie tyd vanaf voorkeure.
- Sensitiwiteit word bereken uit 8h data in die verlede en koolhidrate (indien nie geabsorbeer) is na die tyd vermeld in voorkeure gesny. Plugin bereken ook UAM.
- Sensitiwiteit word bereken as \'n geweegde gemiddelde van dwalinge. Nuwer dwalinge het hoër gewig. Minimale karb absorpsie is bereken uit max karb absorpsie tyd vanaf voorkeure. Hierdie algoritme is die vinnigste om sensitiwiteit veranderinge te volg.
- UAM versper omdat dit staatmaak op Oref1 sensitiwiteit plugin
- Absorpsie instellings
- Maaltyd max\ks absorpsie tyd [h]
- Tyd in ure waarna verwag word dat alle koolhidrate uit maaltyd geabsorbeer sal wees
- Interval vir autosens [h]
- Hoeveelheid ure in die verlede vir sensitiwiteit opsporing (karbohidrate opname tyd is uitgesluit)
- Verstek waarde: 1.2\nThis is \'n vermenigvuldiger plafon vir autosens (en gou autotune) stel \'n 20%% max limiet op hoe hoog die autosens verhouding kan wees, wat op sy beurt bepaal hoe hoog autosens basale kan aanpas, hoe laag dit ISF kan aanpas, en hoe laag dit die BG teiken kan stel.
- Verstek waarde: 0.7\nDie ander kant van die autosens veiligheidsperke, sit \'n limiet op hoe laag autosens basals kan aanpas, en hoe hoog dit ISF en BG teikens kan verstel.
- Max autosens ratio
- Min autosens ratio
- Verstek waarde: 3.0 (AMA) of 8.0 (SMB). Dit is \'n instelling vir verstek karb absorpsie impak per 5 minute. Die verstek is \'n verwagte 3mg/dl / 5min. Dit beïnvloed hoe vinnig KOB opgeneem word, en hoeveel karb absorpsie word aanvaar sodat in die berekening van toekomstige BG, voorspel wanneer BG val meer as verwagte, of nie soveel styg as verwag.
- Maaltyd maks absorpsie tyd [h]
- Tyd waarteen enige maaltyd as geabsorbeer beskou word. Oorblywende koolhidrate sal afgesny word.
-
diff --git a/plugins/sensitivity/src/main/res/values-ja-rJP/strings.xml b/plugins/sensitivity/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 9591896f41..0000000000
--- a/plugins/sensitivity/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- Sensitivity(感度)はOref0と同じ方法で計算されますが、過去の参照時間を指定することができます。 最小炭水化物吸収は環境設置の最大炭水化物吸収時間から計算されます。
-
diff --git a/plugins/smoothing/src/main/res/values-af-rZA/strings.xml b/plugins/smoothing/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/plugins/smoothing/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/plugins/smoothing/src/main/res/values-ja-rJP/strings.xml b/plugins/smoothing/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/plugins/smoothing/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/plugins/source/src/main/res/values-af-rZA/strings.xml b/plugins/source/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 844c8e545d..0000000000
--- a/plugins/source/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Laai BG data af vanaf Nightscout
- Eversense App (bygewerk)
- Ontvang BG waardes uit die gelapte Eversense toep.
- Ontvang BG waardes vanaf Glimp.
- Onvang BG waardes vanaf die 600SeriesAndroidUploader.
- Poctech
- Ontvang BG waardes van Poctech toepassing
- Tomato (MiaoMiao)
- Tomato
- Ontvang BG waardes vanaf Tomato toep (MiaoMiao toestel)
- BG oplaai instellings
-
diff --git a/plugins/source/src/main/res/values-ja-rJP/strings.xml b/plugins/source/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index c1e70718e3..0000000000
--- a/plugins/source/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/plugins/sync/src/main/res/values-af-rZA/oh_strings.xml b/plugins/sync/src/main/res/values-af-rZA/oh_strings.xml
deleted file mode 100644
index d71bb6f6f0..0000000000
--- a/plugins/sync/src/main/res/values-af-rZA/oh_strings.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- Volgende
- Karbohidrate
- Instellings
- Toestel Model
- Kanselleer
- Maak toe
-
diff --git a/plugins/sync/src/main/res/values-af-rZA/strings.xml b/plugins/sync/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 8fba0ae113..0000000000
--- a/plugins/sync/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
- WiFi SSID
- Verbindinginstellings
- Toegelate SSID\'s (kommapunt geskei)
- Laat verbindings toe terwyl swerf
- Skep aankondigings vanaf foute
- Skep Nightscout aankondiging vir foutdialoë en plaaslike waarskuwings (ook vertoonbaar in Careportal onder behandelings)
- Sinkroniseer jou data met Nightscout
- Weergawe van Nightscout nie ondersteun
- OAPS
- UPLD
- NSClient onklaar. Oorweeg om NS en NSClient te herlaai.
-
- NSCLIENT het geen skryfregte. Dalk verkeerde API secret?
- NSClient
- NSCI
- URL:
- Herbegin
- NSClient
- Nightscout URL
- Tik jou Nightscout URL
- NS API geheim
- NS API geheim
- Tik NS API geheim (min 12 karakters)
- Lewer nou
- Vee tou uit
- Wys tou
- Tou:
- Status:
- Maak log skoon
- Alarm Opsies
- Ou data drumpel [min]
- Nood ou data drumpel [min]
- Log app begin na NS
-
- JouTidepool login gebruiker, normaallweg \'n email adres
- Login Gebruiker Naam
- Jou Tidepool login kode
- Login wagwoord
- Toets Tidepool Login
- As ge-aktiveer sal data oplaai na https://int-app.tidepool.org instede van die gewone https://app.tidepool.org/
- Gebruik Integrasie (toets) bedieners
- Tidepool
- TDP
- Laai data op na Tidepool
- Laai CGM data op
- Laai behandelings op (insulien, karbs)
- Laai tydelike basale op
- Laai profiel veranderings, tydelike teikens op
- Laai BG toetse op
-
-
-
-
diff --git a/plugins/sync/src/main/res/values-cs-rCZ/strings.xml b/plugins/sync/src/main/res/values-cs-rCZ/strings.xml
index 7a7f1f4ef7..7a4f5469a3 100644
--- a/plugins/sync/src/main/res/values-cs-rCZ/strings.xml
+++ b/plugins/sync/src/main/res/values-cs-rCZ/strings.xml
@@ -120,6 +120,7 @@
Odesílání dat do Garmin aplikace G-Watch Wear App
Garmin
+ Připojení k zařízení Garmin (Fenix, Edge, …)
Nastavení hodinek Garmin
WEAR
diff --git a/plugins/sync/src/main/res/values-es-rES/strings.xml b/plugins/sync/src/main/res/values-es-rES/strings.xml
index 8f53774a5f..9ec404aa85 100644
--- a/plugins/sync/src/main/res/values-es-rES/strings.xml
+++ b/plugins/sync/src/main/res/values-es-rES/strings.xml
@@ -116,6 +116,8 @@
Enviar datos de glucosa y tratamientos a xDrip+. La fuente de datos \"xDrip+ Sync Follower\" debe estar seleccionada y la aceptación de datos debe estar activada en Ajustes - Ajustes entre aplicaciones - Aceptar glucosa/tratamientos
Activar las transmisiones a xDrip+
+ DBRO
+ Transmitir datos a la aplicación G-Watch Wear de Garmin
Garmin
Conexión al dispositivo Garmin (Fénix, Edge, …)
diff --git a/plugins/sync/src/main/res/values-fr-rFR/strings.xml b/plugins/sync/src/main/res/values-fr-rFR/strings.xml
index 5c6bed1f5f..ff12a17acf 100644
--- a/plugins/sync/src/main/res/values-fr-rFR/strings.xml
+++ b/plugins/sync/src/main/res/values-fr-rFR/strings.xml
@@ -116,7 +116,12 @@
Envoyer les glycémies et les traitements à xDrip+. La source de données \"xDrip+ Sync Follower\" doit être sélectionnée et l\'acceptation des données doit être activée dans Paramètres - Paramètres Inter-app - Accepter Glycémies/Traitements
Activer les diffusions vers xDrip+.
+ DD
+ Diffuser des données sur l\'application G-Watch Wear de Garmin
+ Garmin
+ Connexion au périphérique Garmin (Fenix, Edge, …)
+ Préferences Garmin
WEAR
Surveillez et contrôlez AAPS en utilisant votre montre WearOS.
diff --git a/plugins/sync/src/main/res/values-ja-rJP/oh_strings.xml b/plugins/sync/src/main/res/values-ja-rJP/oh_strings.xml
deleted file mode 100644
index b2cd565b1c..0000000000
--- a/plugins/sync/src/main/res/values-ja-rJP/oh_strings.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- キャンセル
- 閉じる
-
diff --git a/plugins/sync/src/main/res/values-ja-rJP/strings.xml b/plugins/sync/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 38dd084d87..0000000000
--- a/plugins/sync/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- アラームオプション
- NSアラームから通知を作成する
- NSからのお知らせを通知する
- 古いデータしきい値 [min]
- Urgent stale data threshold [min]
-
-
-
-
-
diff --git a/plugins/sync/src/main/res/values-nb-rNO/oh_strings.xml b/plugins/sync/src/main/res/values-nb-rNO/oh_strings.xml
index 4ec943494a..f7c56b1798 100644
--- a/plugins/sync/src/main/res/values-nb-rNO/oh_strings.xml
+++ b/plugins/sync/src/main/res/values-nb-rNO/oh_strings.xml
@@ -31,7 +31,7 @@
Profilbytter
Totale daglige doser
Midlertidige basal doser
- Temp Target
+ Midlertidige mål
Innstillinger
Programversjon
Enhetsmodell
diff --git a/plugins/sync/src/main/res/values-nb-rNO/strings.xml b/plugins/sync/src/main/res/values-nb-rNO/strings.xml
index fca3b4dd70..a8ed13d158 100644
--- a/plugins/sync/src/main/res/values-nb-rNO/strings.xml
+++ b/plugins/sync/src/main/res/values-nb-rNO/strings.xml
@@ -18,8 +18,8 @@
Blokkert på grunn av ladealternativer
Blokkert på grunn av tilkoblingsalternativer
Versjonen av Nightscout støttes ikke
- OAPS
- OPPL
+ OpenAPS
+ Opplaster
NSClient feil. Vurder omstart av NS og NSClient.
NSCLIENT har ingen skriverettighet. Feil API-nøkkel?
@@ -116,7 +116,12 @@
Send data om glukose og behandling til xDrip+. Velg datakilde \"xDrip+ Sync Følger\" og aktiver mottak av data under Innstillinger - Inter-app innstillinger - Aksepter glukose/behandlinger
Aktiver sending til xDrip+.
+ DBRO
+ Kringkast data til Garmin\'s G-Watch Wear app
+ Garmin
+ Tilkobling til Garmin-enheter (Fenix, Edge,…)
+ Innstillinger for Garmin
WEAR
Overvåke og kontrollere AAPS ved hjelp av WearOS-klokken.
diff --git a/plugins/sync/src/main/res/values-nl-rNL/strings.xml b/plugins/sync/src/main/res/values-nl-rNL/strings.xml
index 14d5adc4d0..442817ec94 100644
--- a/plugins/sync/src/main/res/values-nl-rNL/strings.xml
+++ b/plugins/sync/src/main/res/values-nl-rNL/strings.xml
@@ -116,11 +116,14 @@
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
Activeer uitzendingen naar xDrip+.
+ DBRO
+ Verzend gegevens naar Garmin\'s G-Watch Wear App
Garmin
Verbinding met Garmin apparaat (Fenix, Edge, …)
Garmin instellingen
+ WEAR
Monitor en bedien AAPS met uw WearOS horloge.
(Geen horloge verbonden)
Pomp status
diff --git a/plugins/sync/src/main/res/values-ro-rRO/strings.xml b/plugins/sync/src/main/res/values-ro-rRO/strings.xml
index 47289e1d9a..39563a4dd1 100644
--- a/plugins/sync/src/main/res/values-ro-rRO/strings.xml
+++ b/plugins/sync/src/main/res/values-ro-rRO/strings.xml
@@ -116,6 +116,8 @@
Trimite date despre glucoză și tratamente către xDrip+. Trebuie să fie selectată sursa de date \"Sincronizare xDrip+ Urmăritor\" și acceptarea datelor trebuie să fie activată în „Setări - Setări între aplicații - Acceptă Glucoză/Tratamente”
Activează transmisiuni spre xDrip+.
+ DBRO
+ Transmitere date către aplicaţia G-Watch Wear pe Garmin
Garmin
Conexiune la dispozitivul Garmin (Fenix, Edge, …)
diff --git a/pump/combo/src/main/res/values-af-rZA/strings.xml b/pump/combo/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index ae984735c7..0000000000
--- a/pump/combo/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
- Pomp Integrasie met Accu-Chek Combo pompe, vereis dat ruffy geïnstalleer is
- Programmeer pomp vir bolusing
- Staat
- Aktiwiteit
- Geen verbinding vir %1$d min
- %1$d%% (%2$d min oorblywend)
- Inisialiseer tans
- Opgeskort weens fout
- Opgeskort deur gebruiker
- Loop tans
- Kanselleer TBR
- Stel TBR (%1$d%% / %2$d min)
- Bolusing (%1$.1f U)
- Verfris
- Versoekte bewerking nie ondersteun deur pomp
- Onveilige gebruik: uitgebreide of multigolf boluses is aktief. Lus modus is gestel om laag te opskort net 6 ure. Net gewone boluses is ondersteun in lus modus
- Onveilige gebruik: die pomp gebruik \'n verskillende basale koers profiel as die eerste. Die lus is gedeaktiveer. Kies die eerste profiel op die pomp en verfris.
- \'n Bolus met dieselfde hoeveelheid was versoek binne die laaste twee minute. Om te waak teen toevallige dubbele boluses en om te waak teen goggas is dit nie toegelaat nie.
- Nou
- Instelling basale profiel
- Pomp kasset vlak is laag
- Pomp battery is laag
- Die pomp toon die fout E%1$d: %2$s
- Laag
- Leeg
- Normaal
- Pomp tyd/horlosie se opdatering is nodig
- TBR GEKANSELLEER waarskuwing is bevestig
- Die pomp kon nie bereik word nie. Geen bolus is gegee nie
- Bolus aflewering het misluk. Dit blyk dat geen bolus gelewer was. Om seker te maak, gaan die pomp asseblief na om \'n dubbele bolus te vermy en dan bolus weer indien veilig. Om te waak teen goggas, word boluse nie outomaties weer probeer nie.
- Slegs %1$.2f U van die aangevraagde bolus van %2$.2f U was gelewer as gevolg van \'n probleem. Kontroleer asseblief die pomp om dit te verifieer en neem dan gepaste aksie.
- Lewering van die bolus en verifiëring van die pomp se geskiedenis het misluk, Kontroleer asseblief die pomp. As \'n bolus afgelewer is, sal dit bygevoeg word om behandelings gedurende die volgende verbinding met die pomp.
- Nie genoeg insulien vir bolus oor in reserwe
- Ongeldige pomp opstelling kontroleer die hulpdokumente en verifieer dat die vinnige inligting kieslys wel QUICK INFO benaam is met behulp van die 360 konfigurasie sagteware.
- Lees basale profiel
- Die pomp geskiedenis het verander nadat die bolus berekening uitgevoer was. Die bolus was nie afgelewer nie. Herbereken asseblief of \'n bolus steeds nodig is.
- Bolus suksesvol afgelewer, maar die behandeling inskrywing het gefaal. Dit kan gebeur as twee klein boluses van dieselfde grootte binne die laaste twee minute toegedien word. Kontroleer die pomp geskiedenis en behandeling inskrywings en gebruik die Careportal om vermiste inskrywings te voeg. Maak seker om nie enige inskrywings vir dieselfde minuut en dieselfde bedrag by te voeg.
- Hoë tydelike verwerp aangesien berekening nie onlangse veranderings in pomp geskiedenis oorweeg het nie
- Verfris pomp status
- Die basale tempo op die pomp het verander en sal binnekort opgedateer word
- Basale koers is verander op pomp, maar kon nie dit teruglees nie
- Kontroleer tans vir geskiedenis veranderinge
- Veelvuldige boluses met dieselfde hoeveelheid binne die dieselfde minuut was nounet ingevoer. Slegs een rekord kon bygevoeg word in behandelings. Kontroleer asseblief die pomp en voeg per hand \'n bolus rekord met behulp van die Careportal oortjie maak seker om \'n bolus te skep met \'n tyd deur geen ander bolus gebruik.
- Die laaste bolus is ouer as 24 uur of is in die toekoms. Kontroleer asseblief of die datum op die pomp reg ingestel is.
- Tyd/datum van die gelewerde bolus op pomp lyk verkeerd, IAB is waarskynlik verkeerd. Kontroleer asseblief pomp tyd/datum.
- Bolus telling
- TBR telling
- Bolus gestaak
- Staak bolus
- Nooit
- onveilige gebruik
-
diff --git a/pump/combo/src/main/res/values-ja-rJP/strings.xml b/pump/combo/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/combo/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/combo/src/main/res/values-nb-rNO/strings.xml b/pump/combo/src/main/res/values-nb-rNO/strings.xml
index b13cd45cd5..833ea8926c 100644
--- a/pump/combo/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/combo/src/main/res/values-nb-rNO/strings.xml
@@ -27,7 +27,7 @@
Tom
Normal
Pumpens tid må oppdateres
- Varsel om kansellering av temp basal er bekreftet
+ Varsel om kansellering av midlertidig basal er bekreftet
Ingen kontakt med pumpen. Ingen bolus er levert
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.
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.
@@ -37,7 +37,7 @@
Leser basalprofil
Pumpe historikken har blitt endret siden bolus kalkuleringen ble utført. Bolus har ikke blitt levert. Vennligst rekalkuler om bolus fortsatt er nødvendig.
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.
- Avviser høy temp target siden kalkuleringen ikke tok hensyn til nylige endringer i pumpe historikken
+ Avviser høyt midlertidig mål siden kalkuleringen ikke tok hensyn til nylige endringer i pumpe historikken
Oppdaterer pumpestatus
Basal dosen i pumpen har blitt endret og vil i løpet av kort tid bli oppdatert
Basalsats endret i pumpe, men lesing av den feilet
@@ -46,7 +46,7 @@
Den siste bolus er eldre enn 24t eller er i fremtiden. Vennligst sjekk at datoen i pumpen er korrekt.
Tid/dato for levert bolus i pumpen er trolig feil, og IOB beregningen blir da feil. Vennligst sjekk pumpens tid/dato.
Antall boluser
- Antall temp basaler TBR
+ Antall midlertidige basaler TBR
Bolus stoppet
Stopper bolus
Komm. feiltelling
diff --git a/pump/combov2/src/main/res/values-af-rZA/strings.xml b/pump/combov2/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 69c5a4f841..0000000000
--- a/pump/combov2/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- Battery leeg
- Verstopping
- Meganiese fout
- Bluetooth adres
- Instelling basale profiel
- Bolus gekanselleer
- Bolus aflewering het misluk. Dit blyk dat geen bolus gelewer was. Om seker te maak, gaan die pomp asseblief na om \'n dubbele bolus te vermy en dan bolus weer indien veilig. Om te waak teen goggas, word boluse nie outomaties weer probeer nie.
- %1$d%% (%2$d min oorblywend)
- Pomp battery is laag
- leeg
- laag
-
diff --git a/pump/combov2/src/main/res/values-iw-rIL/strings.xml b/pump/combov2/src/main/res/values-iw-rIL/strings.xml
index 37f974cb89..f231e76bd7 100644
--- a/pump/combov2/src/main/res/values-iw-rIL/strings.xml
+++ b/pump/combov2/src/main/res/values-iw-rIL/strings.xml
@@ -97,7 +97,6 @@
לא ניתן להגדיר בזאלי זמני אם המינון הבזאלי הבסיסי הוא 0
צימוד AndroidAPS ואנדרואיד עם משאבת Accu-Chek combo שאינה מצומדת
ביטול צימוד AndroidAPS ואנדרואיד ממשאבת Accu-Chek combo המצומדת
- נמצא מינון בזאלי זמני לא ברור והוא נעצר; %1$d%; זמן נותר: %2$s
שגיאת חיבור: %1$s
חיבור אחרון: לפני %1$d דקות
התראה: %s
diff --git a/pump/combov2/src/main/res/values-ja-rJP/strings.xml b/pump/combov2/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/combov2/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/dana/src/main/res/values-af-rZA/strings.xml b/pump/dana/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 3f0f1df2f6..0000000000
--- a/pump/dana/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
- Paring
- Geen toestel gevind so ver
- Paring OK
- Paring tyd verstreke
- Wag vir paring op pomp
- Dana
- Max bolus skending
- Opdrag fout
- Spoedfout
- Insulien limiet skending
- Versoek: %1$.2fU Gelewer: %2$.2fU Fout kode: %3$s
- Waarde nie behoorlik gestel
- Stel basale stap tot 0.01 U/h
- Verwerk gebeurtenis
- Uitgebreide boluses op pomp aktiveer
- Gelewer
- Gestaak
- Onondersteunde pomp firmware
- Pomp fout
- Battery laag
- Pomp afskakeling
- Pomp Battery leeg
- Verstopping
- Leë stoor
- Bloed suiker meting alarm
- Oorblywende insulien vlak
- Verkry pomp status
- Verkry verlengde bolus status
- Verkry bolus status
- Verkry tydelike basale status
- Kry pomp instellings
- Verkry pomp tyd
- Enorme tydsverskil
- Groot tydverskil: \nTyd in pomp is uit met meer as 1,5 uur. \nVerstel asb die tyd per hand op die pomp en maak seker dat lees die geskiedenis van die pomp nie onverwagte gedrag veroorsaak. \nAs moontlik, verwyder die geskiedenis vanaf die pomp voor die verandering van die tyd of versper die geslote lus vir een DIA na die laaste verkeerde geskiedenis inskrywing maar minimum een DIA van nou.
- Verbind asseblief jou pomp met jou selfoon!
- Naderende insulien daaglikse limiet
- Begin bolus aflewering
- Wag tans vir bolus se einde. Oorblywende %1$d sec.
- Stop tydelike basale
- Stel verlengde bolus
- Stop verlengde bolus
- Outobywerking basale tariewe
- Stel tydelike basale
- Wag vir tydsinkronisasie (%1$d sec)
- Verkeerde pomp wagwoord!
- Alarms
- Basale ure
- Boluses
- Karbohidrate
- Daaglikse insulien
- Foute
- Glukose
- Hervul
- Opgeskort
- Prima
- Gebruiker opsies
- Vertoon tyd formaat
- Knoppie rol
- Biep op knoppie druk
- Alarm
- Klank
- Vibreer
- Beide
- LCD aantyd [seconds]
- Agterlig aantyd [seconds]
- Glukose eenhede
- Afsluit [hours]
- Lae reserwe [Units]
- Stoor opsies te pomp
- Pomp integrasie vir DANA Diabecare R pompe
- Pomp integrasie vir Koreanse DANA Diabecare R pompe
- Pomp integrasie vir DANA Diabecare R pompe met opgegradeerde firmware
- DANA
- Geen bluetooth passtuk gevind
- Geselekteerde toestel nie gevind nie
- Verander in modus van U/d U/h op pomp
- DanaR Koreaans
- DanaR
- Pomp drywer gekorrigeer
- DanaRv2
- Versper EasyUI modus in pomp
- Instelling van basale profiel het misluk
- Bluetooth status
- Pomp IAB
- Firmware
- Dana pomp instellings
- Aan
- Af
- DanaR Bluetooth-toestel
- Pomp wagwoord
- Gebruik verlengde boluses vir >200%%
- Bolus spoed
- Geselekteerde pomp
-
diff --git a/pump/dana/src/main/res/values-ja-rJP/strings.xml b/pump/dana/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/dana/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/dana/src/main/res/values-nb-rNO/strings.xml b/pump/dana/src/main/res/values-nb-rNO/strings.xml
index e561897b03..3e46d39399 100644
--- a/pump/dana/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/dana/src/main/res/values-nb-rNO/strings.xml
@@ -39,7 +39,7 @@
Henter pumpestatus
Henter forlenget bolus status
Henter bolus status
- Henter temp basal status
+ Henter status om midlertidig basal
Henter pumpe innstillinger
Henter pumpens tid
Stor tidsforskjell
@@ -48,11 +48,11 @@
Maksimal daglig insulindose er snart nådd
Starter bolus dosering
Venter på bolus slutt. Gjenværende %1$d sek.
- Stopper temp basal
+ Stopper midlertidig basal
Setter forlenget bolus
Stopper forlenget bolus
Oppdaterer basaldoser
- Setter temp basal
+ Setter midlertidig basal
Venter på tidsykronisering (%1$d sek)
Feil pumpepassord!
Alarmer
diff --git a/pump/danar/src/main/res/values-af-rZA/strings.xml b/pump/danar/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/danar/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/danar/src/main/res/values-ja-rJP/strings.xml b/pump/danar/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/danar/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/diaconn/src/main/res/values-af-rZA/strings.xml b/pump/diaconn/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 3b7cd2274e..0000000000
--- a/pump/diaconn/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- Pomp fout
- Alarms
- Basale ure
- Boluses
- Daaglikse insulien
- Foute
- Prima
- Hervul
- Opgeskort
- Kry pomp instellings
- Verkry pomp tyd
- Groot tydverskil: \nTyd in pomp is uit met meer as 1,5 uur. \nVerstel asb die tyd per hand op die pomp en maak seker dat lees die geskiedenis van die pomp nie onverwagte gedrag veroorsaak. \nAs moontlik, verwyder die geskiedenis vanaf die pomp voor die verandering van die tyd of versper die geslote lus vir een DIA na die laaste verkeerde geskiedenis inskrywing maar minimum een DIA van nou.
- Naderende insulien daaglikse limiet
- Begin bolus aflewering
- Stop tydelike basale
- Stel tydelike basale
- Stel verlengde bolus
- Stop verlengde bolus
- Outobywerking basale tariewe
- Max bolus skending
- Opdrag fout
- Spoedfout
- Insulien limiet skending
- Versoek: %1$.2fU Gelewer: %2$.2fU Fout kode: %3$s
- Waarde nie behoorlik gestel
- Bolus spoed
- Geselekteerde pomp
- Gebruik verlengde boluses vir >200%%
- Visualiseer verlengde bolus as %%
- TDD
- Bolus Stap
- Basale Stap
- Firmware
- Verbind asseblief jou pomp met jou selfoon!
- Klank
- klank
- vibreer
- laag
- hoog
- LCD aantyd [second]
- Bolus spoed
- Engels
- laag
- Ander
- Sukses
-
diff --git a/pump/diaconn/src/main/res/values-ja-rJP/strings.xml b/pump/diaconn/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/diaconn/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/diaconn/src/main/res/values-nb-rNO/strings.xml b/pump/diaconn/src/main/res/values-nb-rNO/strings.xml
index 744ca26447..0f357fbe30 100644
--- a/pump/diaconn/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/diaconn/src/main/res/values-nb-rNO/strings.xml
@@ -24,8 +24,8 @@
Starter bolus dosering
Venter på avsluttet bolus dosering
Leser bolus status
- Stopper temp basal
- Setter temp basal
+ Stopper midlertidig basal
+ Setter midlertidig basal
Setter forlenget bolus
Stopper forlenget bolus
Oppdaterer basaldoser
@@ -54,7 +54,7 @@
"Behandler hendelse "
aps_last_log_num
aps_wrapping_count
- Temp basal
+ Midlertidig basal
Diaconn pumpe innstillinger
Lyd
lyd
@@ -146,12 +146,12 @@
Kommandoen ble ikke utført. Vennligst prøv igjen.
Logg bytte av slangesett
Legg til \"Slangesettbytte\" i Helseportal når den oppdages i historikken
- Temp Basal startet
+ Midlertidig basal startet
Vel Lav Glukose Stopp (LGS) er injeksjoner begrenset
LGS status er PÅ. PÅ kommando er nektet.
LGS status er AV. AV kommandoen er avslått.
- Temp basal avslått siden det allerede kjøres en temp basal
- Stopp av temp basal avslått siden det ikke kjøres en temp basal
+ Midlertidig basal avslått siden det allerede kjøres en midlertidig basal
+ Stopp av midlertidig basal avslått siden det ikke kjøres en midlertidig basal
Send pumpe logger til Diaconn Cloud.
Diaconn Cloud Sync
diff --git a/pump/eopatch/src/main/res/values-af-rZA/strings.xml b/pump/eopatch/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 1d9e0c8389..0000000000
--- a/pump/eopatch/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- Status
- dag
- dae
- Hervat
- Opgeskort
- Loop tans
- Kanselleer
- Bevestig
- Alarm
- Koppel
- Volgende
-
diff --git a/pump/eopatch/src/main/res/values-af-rZA/strings_alarm.xml b/pump/eopatch/src/main/res/values-af-rZA/strings_alarm.xml
deleted file mode 100644
index 61862d1424..0000000000
--- a/pump/eopatch/src/main/res/values-af-rZA/strings_alarm.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/eopatch/src/main/res/values-ja-rJP/strings.xml b/pump/eopatch/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 584b7ae292..0000000000
--- a/pump/eopatch/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- 日
- 日
- キャンセル
- 接続中
-
diff --git a/pump/eopatch/src/main/res/values-ja-rJP/strings_alarm.xml b/pump/eopatch/src/main/res/values-ja-rJP/strings_alarm.xml
deleted file mode 100644
index 61862d1424..0000000000
--- a/pump/eopatch/src/main/res/values-ja-rJP/strings_alarm.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/eopatch/src/main/res/values-nb-rNO/strings.xml b/pump/eopatch/src/main/res/values-nb-rNO/strings.xml
index 4f4d1f0686..ae85750325 100644
--- a/pump/eopatch/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/eopatch/src/main/res/values-nb-rNO/strings.xml
@@ -92,9 +92,9 @@
Avbryt paringen
dager
E
- 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
+ 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
Når du pauser pumpen vil levering av bolus dose bli avbrutt. \n\nGjenværende insulin : %1$.2f E
- Når du pauser pumpen vil gjeldende Temp basal dosering bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s
+ Når du pauser pumpen vil gjeldende midlertidig basaldosering bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s
Insulintilførsel er pauset.
Kast/bytt patch
Aktiver Patch
diff --git a/pump/medtronic/src/main/res/values-af-rZA/strings.xml b/pump/medtronic/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 01d2cbc61d..0000000000
--- a/pump/medtronic/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
- Pomp integrasie vir Medtronic vereis RileyLink en spesifieke modelle
-
- Pomp Reeks Nommer
- Pomp Tipe
- Pomp Frekwensie
- Wagtyd voor Bolus begin (s)
- Maks Bolus op Pomp (U)
- Maks Basale op Pomp (U/h)
- Medtronic Enkodering
- US & Canada (916 MHz)
- Wêreldwyd (868 Mhz)
- Sagteware 4b6b Enkodeerding
- Hardeware 4b6b Enkodeerding
- Wek en stel in
- Vee Bolus Blok
- Herstel RileyLink Konfig
- Battery Tipe(Krag Oorsig)
- Nie gekies (Eenvoudige oorsig)
- Alkaliese (Uitgebreide modus)
- Lithium (Uitgebreide modus)
-
-
- Foute
- Reeksno # nie gestel.
- Reeksno # is ongeldig.
- Pomp tipe nie gestel.
- Pomp tipe word nie ondersteun nie.
- Pomp frekwensie nie gestel.
- Pomp frekwensie word nie ondersteun.
- RileyLink Adres ongeldig.
- Pomp tipe bespeur en is nie dieselfde as gestelde.
- Basale profiel is verkeerd op pomp (moet STD wees).
- Verkeerde TBR op pomp (Moet Absoluut wees).
- Verkeerde Maks Bolus gestel op Pomp(moet %1$.2f wees).
- Verkeerde Maks Basale op Pomp (moet %1$.2f wees).
- Operasie nie moontlik.\n\n Jy moet jou Medtronic pomp opstel voordat jy die operasie kan gebruik.
- Oor 24h Tyd was versoek.
-
-
-
-
-
-
-
- Medtronic Pomp Geskiedenis
-
- U het Bolus gekanselleer nadat dit reeds gestel was op pomp. Aangesien Medtronic pomp nie kansellasie ondesteun sal jy dit self moet kanselleer. Sit pomp in Suspend en hervat(Resume) (as jy steeds wil kanselleer). Spplikasie sal die verandering sppor op volgende opdatering in minder as 5 minute.
- Kon nie huidige TBR lees.
- Kon nie TBR kanselleer. Operasie is gestaak.
- Profiel stel gefaal want die patroon het \'n te groot basale koers: %1$s
- Bolus kon nie gelewer word nie.
- Bolus kon nie gelewer word nie, want beskikbare insulin (%1$.2f) is mider as bolus versoek(%2$.2f).
- TBR Kon nie stel.
- Kon nie huidige TBR staak.
- Basale profiel kon nie stel.
- Basal profiel is dieselfde, so dit is so gelos.
- Verkry Geskiedenis - Bladsy %1$d (%2$d/16)
- Verkry Geskiedenis - Bladsy %1$d
- Kry Pomp Tyd
- Verkry Instellings
- Kry Pomp Model
- Kry Basale Profiel
- Stel Basale Profiel
- Verkry Tydelike Basale
- Stel Tydelike Basale
- Stel Bolus
- Pomp onbeskikbaar
- Waarskuwing
-
- Nou
-
- terug
- Pomp tyd/horlosie se opdatering is nodig
-
- Aan
- Af
- Pomp tyd opgedateer
-
diff --git a/pump/medtronic/src/main/res/values-ja-rJP/strings.xml b/pump/medtronic/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 4feeb48b2b..0000000000
--- a/pump/medtronic/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
- Medtronic製のポンプ統合には、RileyLinkデバイスと特定のポンプモデルが必要です
-
- ポンプのシリアル番号
- ポンプの種類
- ポンプ周波数
- ボーラス開始までの遅延時間(s)
- ポンプの最大ボーラス (U)
- ポンプの最大ベーサル(U/h)
- アメリカ & カナダ (916 MHz)
- ワールドワイド(868 Mhz)
- ソフトウェア 4b6b エンコード
- ソフトウェア 4b6b エンコード
- ウェイクアップとチューニング
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pump/medtronic/src/main/res/values-nb-rNO/strings.xml b/pump/medtronic/src/main/res/values-nb-rNO/strings.xml
index 7a7ffa8595..065eecdecb 100644
--- a/pump/medtronic/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/medtronic/src/main/res/values-nb-rNO/strings.xml
@@ -71,8 +71,8 @@
Henter pumpe modell
Henter basal profil
Angi basal profil
- Henter Temp Basal
- Angi Temp Basal
+ Henter midlertidig basal
+ Angi midlertidig basal
Avbryt midlertidig basal
Angi Bolus
Oppdater status insulinvolum
@@ -88,7 +88,7 @@
Av
Pumpens tid ble oppdatert
Sett nøytrale temp basaler
- 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.
+ 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.
%1$.1f E/t (%2$d min gjenstår)
Ugyldige data for pumpehistorikken er oppdaget. Rapporter hendelsen til APPS og legg ved logg.
RL statistikk
diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt
index 2adb563031..c237d9c2fd 100644
--- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt
+++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt
@@ -141,6 +141,7 @@ import kotlin.math.abs
preprocessAlarmSettings(preferenceFragment)
preprocessMaxInsulinSettings(preferenceFragment)
preprocessConnectionAlertSettings(preferenceFragment)
+ preprocessPumpWarningSettings(preferenceFragment)
}
private fun preprocessSerialSettings(preferenceFragment: PreferenceFragmentCompat) {
@@ -263,6 +264,14 @@ import kotlin.math.abs
}
}
+ private fun preprocessPumpWarningSettings(preferenceFragment: PreferenceFragmentCompat) {
+ val patchExpirationPref = preferenceFragment.findPreference(rh.gs(R.string.key_patch_expiration))
+ val pumpWarningNotificationPref = preferenceFragment.findPreference(rh.gs(R.string.key_pump_warning_notification))
+ val pumpWarningExpiryHourPref = preferenceFragment.findPreference(rh.gs(R.string.key_pump_warning_expiry_hour))
+
+ pumpWarningExpiryHourPref?.isEnabled = patchExpirationPref?.isChecked == true && pumpWarningNotificationPref?.isChecked == true
+ }
+
override fun isInitialized(): Boolean {
return medtrumPump.pumpState > MedtrumPumpState.EJECTED && medtrumPump.pumpState < MedtrumPumpState.STOPPED
}
diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt
index 4a7f99e566..54dadef505 100644
--- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt
+++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt
@@ -288,6 +288,8 @@ class MedtrumPump @Inject constructor(
var desiredAlarmSetting = AlarmSetting.LIGHT_VIBRATE_AND_BEEP
var desiredHourlyMaxInsulin: Int = 40
var desiredDailyMaxInsulin: Int = 180
+ var desiredPumpWarning = true
+ var desiredPumpWarningExpiryThresholdHours = 72L
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
desiredHourlyMaxInsulin = sp.getInt(R.string.key_hourly_max_insulin, 40)
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
}
diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt
index ae596414e9..887c4c1a95 100644
--- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt
+++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt
@@ -101,6 +101,8 @@ class MedtrumService : DaggerService(), BLECommCallback {
private const val COMMAND_CONNECTING_TIMEOUT_SEC: Long = 30
private const val ALARM_HOURLY_MAX_CLEAR_CODE = 4
private const val ALARM_DAILY_MAX_CLEAR_CODE = 5
+
+ private const val CHECK_EXPIRY_WARNING_TIME_MS = 5 * 60 * 1000L
}
private val disposable = CompositeDisposable()
@@ -135,6 +137,11 @@ class MedtrumService : DaggerService(), BLECommCallback {
pumpSync.connectNewPump()
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))
|| event.isChanged(rh.gs(R.string.key_patch_expiration))
|| event.isChanged(rh.gs(R.string.key_hourly_max_insulin))
@@ -169,6 +176,12 @@ class MedtrumService : DaggerService(), BLECommCallback {
notifyPumpWarning(pumpWarning)
}
}
+ scope.launch {
+ while (true) {
+ checkExpiryWarning()
+ kotlinx.coroutines.delay(CHECK_EXPIRY_WARNING_TIME_MS)
+ }
+ }
}
override fun onDestroy() {
@@ -700,7 +713,7 @@ class MedtrumService : DaggerService(), BLECommCallback {
private fun notifyPumpWarning(alarmState: AlarmState) {
// 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(
Notification.PUMP_WARNING,
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 */
override fun onBLEConnected() {
aapsLogger.debug(LTag.PUMPCOMM, "<<<<< onBLEConnected")
diff --git a/pump/medtrum/src/main/res/values-af-rZA/arrays.xml b/pump/medtrum/src/main/res/values-af-rZA/arrays.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/medtrum/src/main/res/values-af-rZA/arrays.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/medtrum/src/main/res/values-af-rZA/strings.xml b/pump/medtrum/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 36c8a820fe..0000000000
--- a/pump/medtrum/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/pump/medtrum/src/main/res/values-bg-rBG/strings.xml b/pump/medtrum/src/main/res/values-bg-rBG/strings.xml
index 0fc18261f7..84c09b2d0c 100644
--- a/pump/medtrum/src/main/res/values-bg-rBG/strings.xml
+++ b/pump/medtrum/src/main/res/values-bg-rBG/strings.xml
@@ -105,9 +105,7 @@
Изберете предпочитани настройки за аларми на помпата.
Срок на пач помпата
След активация, пач помпата има срок от 3 дни с допълнителен период от 8 часа след това.
- Максимално количество инсулин за час
Посочете максималните единици инсулин за час. Ако бъдат превишени, помпата ще бъде изключена.
- Максимално количество инсулин за ден
Посочете максималните единици инсулин за ден. Ако бъдат превишени, помпата ще бъде изключена.
Получава статус на помпата
diff --git a/pump/medtrum/src/main/res/values-cs-rCZ/strings.xml b/pump/medtrum/src/main/res/values-cs-rCZ/strings.xml
index 1493204dbf..2cf4e15177 100644
--- a/pump/medtrum/src/main/res/values-cs-rCZ/strings.xml
+++ b/pump/medtrum/src/main/res/values-cs-rCZ/strings.xml
@@ -112,11 +112,13 @@
Vyberte preferované nastavení alarmů.
Oznámení o varování pumpy
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.
+ Varování před vypršením platnosti pumpy [hodiny]
+ Zobrazit upozornění v určené hodině po aktivaci.
Vypršení platnosti Patche
Pokud je povoleno, Patch vyprší po 3 dnech s maximální dobou odkladu 8 hodin.
- Hodinové maximum inzulínu
+ Hodinové maximum inzulínu [U]
Zadejte maximální povolený počet jednotek inzulínu za hodinu. Pokud je překročeno, pumpa bude pozastavena.
- Denní maximální inzulín
+ Denní maximum inzulínu [U]
Zadejte maximální povolené množství inzulínu za den. Pokud je překročeno, pumpa bude pozastavena.
Nahrávám stav pumpy
diff --git a/pump/medtrum/src/main/res/values-da-rDK/strings.xml b/pump/medtrum/src/main/res/values-da-rDK/strings.xml
index 1195d5afbe..9e7e7ca7c8 100644
--- a/pump/medtrum/src/main/res/values-da-rDK/strings.xml
+++ b/pump/medtrum/src/main/res/values-da-rDK/strings.xml
@@ -107,9 +107,7 @@
Vælg dine fortrukne pumpealarmindstillinger.
Patch Udløber
Efter aktivering udløber patchen efter 3 dage med en nådeperiode på 8 timer herefter.
- Maksimal Insulin pr. Time
Specificér det maksimale tilladte antal enheder insulin per time. Hvis denne overskrides, pauseres pumpen.
- Maksimal Insulin pr. Dag
Specificér det maksimale tilladte antal enheder insulin per Dag. Hvis denne overskrides, pauseres pumpen.
Henter pumpestatus
diff --git a/pump/medtrum/src/main/res/values-de-rDE/strings.xml b/pump/medtrum/src/main/res/values-de-rDE/strings.xml
index 997e3b8ef9..51f6acd6cb 100644
--- a/pump/medtrum/src/main/res/values-de-rDE/strings.xml
+++ b/pump/medtrum/src/main/res/values-de-rDE/strings.xml
@@ -105,9 +105,7 @@
Wählen Sie Ihre bevorzugten Pumpen-Alarmeinstellungen.
Patch Ablaufdatum
Wenn aktiviert, läuft der Patch nach 3 Tagen ab, mit einer Nachfrist von 8 Stunden danach.
- Stündliches Maximum Insulin
Lege die maximale Anzahl an Insulineinheiten pro Stunde fest. Bei Überschreitung wird die Pumpe ausgesetzt.
- Tägliches Maximum Insulin
Legen Sie die maximale Anzahl an Insulineinheiten pro Tag fest. Bei Überschreitung wird die Pumpe ausgesetzt.
Pumpenstatus wird abgerufen
diff --git a/pump/medtrum/src/main/res/values-el-rGR/strings.xml b/pump/medtrum/src/main/res/values-el-rGR/strings.xml
index 68d9aed6f3..8158a6bc8b 100644
--- a/pump/medtrum/src/main/res/values-el-rGR/strings.xml
+++ b/pump/medtrum/src/main/res/values-el-rGR/strings.xml
@@ -107,9 +107,7 @@
Επιλέξτε τις προτιμώμενες ρυθμίσεις συναγερμού της αντλίας σας.
Λήξη Patch
Όταν ενεργοποιηθεί, το patch θα λήξει μετά από 3 ημέρες, με περίοδο χάριτος 8 ώρες μετά από αυτό.
- Μέγιστη Ωριαία Ινσουλίνη
Καθορίστε τις μέγιστες μονάδες ινσουλίνης που επιτρέπονται ανά ώρα. Αν ξεπεραστείη ποσότητα αυτή, η αντλία θα αναστείλει.
- Ημερήσια Μέγιστη Ινσουλίνη
Καθορίστε τις μέγιστες μονάδες ινσουλίνης που επιτρέπονται ανά ημέρα. Αν ξεπεραστεί η ποσότητα αυτή, η αντλία θα αναστείλει.
Φόρτωση κατάστασης αντλίας
diff --git a/pump/medtrum/src/main/res/values-es-rES/strings.xml b/pump/medtrum/src/main/res/values-es-rES/strings.xml
index c8c013cc15..388e599806 100644
--- a/pump/medtrum/src/main/res/values-es-rES/strings.xml
+++ b/pump/medtrum/src/main/res/values-es-rES/strings.xml
@@ -114,9 +114,7 @@
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.
Caducidad del parche
Cuando está activado, el parche caducará a los 3 días, con un periodo de gracia de 8 horas adicionales
- Insulina máxima por hora
Especificar las unidades máximas de insulina permitidas por hora. Si se supera, la bomba se suspenderá.
- Insulina máxima diaria
Especificar las unidades máximas de insulina permitidas por día. Si se superan, la bomba se suspenderá.
Obteniendo el estado de la bomba
diff --git a/pump/medtrum/src/main/res/values-fr-rFR/strings.xml b/pump/medtrum/src/main/res/values-fr-rFR/strings.xml
index f4e37d7382..a971250f5f 100644
--- a/pump/medtrum/src/main/res/values-fr-rFR/strings.xml
+++ b/pump/medtrum/src/main/res/values-fr-rFR/strings.xml
@@ -6,6 +6,7 @@
Intégration des pompes Medtrum Nano et Medtrum 300U
Paramètres de la pompe Medtrum
Erreur pompe: %1$s!!
+ Avertissement pompe : %1$s
La pompe est suspendue
La pompe est suspendue, la quantité maximum d\'insuline par heure est dépassée
La pompe est suspendue, la quantité maximum d\'insuline par jour est dépassée
@@ -52,6 +53,7 @@
Pile morte
Absence d\'étalonnage
Impossible de mettre à jour le fuseau horaire de la pompe, mettre en veille le message et rafraîchir manuellement.
+ Erreur de bolus
Réessayer
Suivant
@@ -100,17 +102,19 @@
Appuyez sur Suivant pour reprendre l\'activation ou Supprimer pour réinitialiser l\'état d\'activation.
Veuillez patienter, lecture de l\'état d\'activation de la pompe.
+ Alerte injoignable forcée, car le pod Medtrum peut échouer et être inaccessible.
+ Réglage à 30 minutes conseillé car le pod Medtrum peut échouer et être inaccessible.
Numéro de série
Entrez le numéro de série de la base de votre pompe.
Numéro de série invalide !
Pompe non testée : %1$d! Veuillez nous contacter sur discord ou github pour obtenir de l\'aide
Paramètres d\'Alarme
Sélectionnez vos préférences d’alarme de votre pompe.
+ Notification sur l\'alerte pompe
+ 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.
Expiration du Patch
Lorsqu\'il est activé, le Patch expirera après 3 jours, avec un délai de grâce de 8 heures au-delà.
- Insuline maximale horaire
Spécifiez le nombre maximum d\'unités d\'insuline autorisées par heure. Si ce montant est dépassé, la pompe sera suspendue.
- Insuline maximale quotidienne
Spécifiez le nombre maximum d\'unités d\'insuline autorisées par jour. Si ce montant est dépassé, la pompe sera suspendue.
Mise à jour de l\'état pompe
diff --git a/pump/medtrum/src/main/res/values-it-rIT/strings.xml b/pump/medtrum/src/main/res/values-it-rIT/strings.xml
index 594c3290fb..b5de1d6fea 100644
--- a/pump/medtrum/src/main/res/values-it-rIT/strings.xml
+++ b/pump/medtrum/src/main/res/values-it-rIT/strings.xml
@@ -105,9 +105,7 @@
Seleziona le tue impostazioni di allarme del micro preferite.
Scadenza patch
Una volta abilitata, la patch scadrà dopo 3 giorni, con un periodo di grazia di 8 ore.
- Insulina massima oraria
Specificare le unità massime di insulina consentite per ora. Se superate, il micro sarà sospeso.
- Insulina massima giornaliera
Specificare le unità massime di insulina consentite per giorno. Se superate, il micro sarà sospeso.
Ricezione stato micro
diff --git a/pump/medtrum/src/main/res/values-ja-rJP/arrays.xml b/pump/medtrum/src/main/res/values-ja-rJP/arrays.xml
deleted file mode 100644
index 3ea04e700d..0000000000
--- a/pump/medtrum/src/main/res/values-ja-rJP/arrays.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/pump/medtrum/src/main/res/values-ja-rJP/strings.xml b/pump/medtrum/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 36c8a820fe..0000000000
--- a/pump/medtrum/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/pump/medtrum/src/main/res/values-ko-rKR/strings.xml b/pump/medtrum/src/main/res/values-ko-rKR/strings.xml
index 7046fb4f4f..c84fadfdef 100644
--- a/pump/medtrum/src/main/res/values-ko-rKR/strings.xml
+++ b/pump/medtrum/src/main/res/values-ko-rKR/strings.xml
@@ -106,9 +106,7 @@
선호하는 펌프 알람 설정을 선택하세요.
Patch 만료
활성화되면, patch는 3일 후에 만료되며, 이후 8시간의 유예 기간이 적용됩니다.
- 시간당 최대 인슐린
시간당 허용되는 인슐린 최대 unit을 정합니다. 이를 초과하면, 펌프는 중지됩니다.
- 일일 최대 인슐린
하루에 허용되는 인슐린 최대 unit을 정합니다. 이를 초과하면, 펌프는 중지됩니다.
펌프 상태 가져오기
diff --git a/pump/medtrum/src/main/res/values-lt-rLT/strings.xml b/pump/medtrum/src/main/res/values-lt-rLT/strings.xml
index da7983f437..7c1e714e87 100644
--- a/pump/medtrum/src/main/res/values-lt-rLT/strings.xml
+++ b/pump/medtrum/src/main/res/values-lt-rLT/strings.xml
@@ -108,9 +108,7 @@
Pasirinkite pompos aliarmų nustatymus
Rezervuaras išsijungs
Įgalinus, rezervuaras išsijungs po 3 parų ir 8 val.
- Valandos insulino limitas
Nustatykite maksimalų insulino kiekį valandai. Jį viršijus pompa bus sustabdyta.
- Paros insulino limitas
Nustatykite maksimalų insulino kiekį parai. Jį viršijus pompa bus sustabdyta.
Gaunamas pompos statusas
diff --git a/pump/medtrum/src/main/res/values-nb-rNO/strings.xml b/pump/medtrum/src/main/res/values-nb-rNO/strings.xml
index 8100bc66f2..3a459c4d90 100644
--- a/pump/medtrum/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/medtrum/src/main/res/values-nb-rNO/strings.xml
@@ -114,9 +114,7 @@
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.
Patch utløpsdato
Når aktivert vil plasteret utløpe etter 3 dager, med en nådeperiode på 8 timer etter det.
- Maksimal insulin per time
Angi maksimalt antall enheter insulin tillatt per time. Hvis overskredet vil pumpen suspendere.
- Maksimal insulin per dag
Angi maksimalt antall enheter insulin tillatt per dag. Hvis overskredet vil pumpen suspendere.
Henter pumpestatus
diff --git a/pump/medtrum/src/main/res/values-nl-rNL/strings.xml b/pump/medtrum/src/main/res/values-nl-rNL/strings.xml
index c566589058..33773439f3 100644
--- a/pump/medtrum/src/main/res/values-nl-rNL/strings.xml
+++ b/pump/medtrum/src/main/res/values-nl-rNL/strings.xml
@@ -114,9 +114,7 @@
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.
Patch vervalt
Wanneer ingeschakeld, zal de patch na 3 dagen verlopen met een extra periode van 8 uur coulance.
- Maximale insuline per uur
Geef de maximale hoeveelheid insuline per uur op. Indien overschreden zal de pomp de insuline toediening onderbreken.
- Maximale insuline per dag
Geef de maximale hoeveelheid insuline per dag op. Indien overschreden zal de pomp de insuline toediening onderbreken.
Pompstatus aan het ophalen
diff --git a/pump/medtrum/src/main/res/values-pl-rPL/strings.xml b/pump/medtrum/src/main/res/values-pl-rPL/strings.xml
index ddccc09c6d..9c0d32b315 100644
--- a/pump/medtrum/src/main/res/values-pl-rPL/strings.xml
+++ b/pump/medtrum/src/main/res/values-pl-rPL/strings.xml
@@ -111,9 +111,7 @@
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.
Wygaśnięcie Patcha
Po uruchomieniu Patch wygaśnie po 3 dniach, z dodatkowym 8 godzinowym okresem karencji.
- Maksymalna Insulina w godzinę
Określ maksymalną dozwoloną ilość jednostek insuliny podanych na godzinę. Po przekroczeniu tego limitu pompa zawiesi podaż insuliny.
- Maksymalna Insulina dziennie
Określ maksymalną dozwoloną ilość jednostek insuliny podanych na dzień. Po przekroczeniu tego limitu pompa zawiesi podaż insuliny.
Uzyskiwanie statusu pompy
diff --git a/pump/medtrum/src/main/res/values-ro-rRO/strings.xml b/pump/medtrum/src/main/res/values-ro-rRO/strings.xml
index 01b5297304..0fdf3679e8 100644
--- a/pump/medtrum/src/main/res/values-ro-rRO/strings.xml
+++ b/pump/medtrum/src/main/res/values-ro-rRO/strings.xml
@@ -114,9 +114,7 @@
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.
Patch Expirare
Când este activat, patchul va expira după 3 zile, cu o perioadă de graţie de 8 ore după expirare.
- Insulină maximă pe oră
Specifică numărul maxim de unități de insulină permise pe oră. Dacă sunt depăşite, pompa se va suspenda.
- Insulină maximă zilnică
Specifică numărul maxim de unități de insulină permise pe zi. Dacă sunt depăşite, pompa se va suspenda.
Se primește starea pompei
diff --git a/pump/medtrum/src/main/res/values-ru-rRU/strings.xml b/pump/medtrum/src/main/res/values-ru-rRU/strings.xml
index c029351280..ec2b2ded32 100644
--- a/pump/medtrum/src/main/res/values-ru-rRU/strings.xml
+++ b/pump/medtrum/src/main/res/values-ru-rRU/strings.xml
@@ -114,9 +114,7 @@
Показывать уведомления о некритических оповещениях помпы: низком заряде батареи, низком запасе инсулина (20 единиц) и приближающемся истечении срока работы. Рекомендуется оставить включенным, когда звук оповещений выключен.
Окончание срока действия патча
Если включено, то патч закончит свое действие через 3 дня, с дополнительными 8 часами после этого.
- Максимальное количество инсулина в час
Укажите максимальное количество инсулина, допустимое для ввода в течение часа. Если оно будет превышено - помпа будет приостановлена.
- Максимальное количество инсулина в сутки
Укажите максимальное количество инсулина, допустимое для ввода в течение суток. Если оно будет превышено - помпа будет приостановлена.
Получение статуса помпы
diff --git a/pump/medtrum/src/main/res/values-sk-rSK/strings.xml b/pump/medtrum/src/main/res/values-sk-rSK/strings.xml
index a03c3f0d9a..0b179c64c9 100644
--- a/pump/medtrum/src/main/res/values-sk-rSK/strings.xml
+++ b/pump/medtrum/src/main/res/values-sk-rSK/strings.xml
@@ -114,9 +114,7 @@
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.
Expirácia Patch
Pokiaľ je povolené, Patch expiruje po 3 dňoch s maximálnou dobou odkladu 8 hodín.
- Hodinové maximum inzulínu
Zadajte maximálny povolený počet jednotiek inzulínu za hodinu. Pokiaľ budú prekročené, pumpa bude pozastavená.
- Denný maximálny inzulín
Zadajte maximálny povolený počet jednotiek inzulínu za deň. Pokiaľ budú prekročené, pumpa bude pozastavená.
Načítavam stav pumpy
diff --git a/pump/medtrum/src/main/res/values-sv-rSE/strings.xml b/pump/medtrum/src/main/res/values-sv-rSE/strings.xml
index b15bcb2527..16c2153f26 100644
--- a/pump/medtrum/src/main/res/values-sv-rSE/strings.xml
+++ b/pump/medtrum/src/main/res/values-sv-rSE/strings.xml
@@ -106,9 +106,7 @@
Ställ in dina föredragna larminställningar för pumpen.
Poddens utgångsdatum
När den är aktiverad, kommer podden att löpa ut efter 3 dagar, med en tidsfrist på 8 timmar efter det.
- Maximalt insulin per timme
Ange maximalt tillåtna insulin-enheter per timme. Om den överskrids kommer pumpen att pausas.
- Maximal daglig insulin-dos
Ange maximalt tillåtna insulin-enheter per dag. Om den överskrids kommer pumpen att pausas.
Hämtar pumpstatus
diff --git a/pump/medtrum/src/main/res/values-tr-rTR/strings.xml b/pump/medtrum/src/main/res/values-tr-rTR/strings.xml
index 143f6dab14..f0b22a57aa 100644
--- a/pump/medtrum/src/main/res/values-tr-rTR/strings.xml
+++ b/pump/medtrum/src/main/res/values-tr-rTR/strings.xml
@@ -114,9 +114,7 @@
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.
Patch süre sonu
Etkinleştirildiğinde, patch 3 gün sonra sona erecek ve bunun ardından 8 saatlik bir ek süre tanınacaktır.
- Saatlik Maksimum insülin
Bir saatte izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır.
- Günlük Maksimum insülin
Bir günde izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır.
Pompa durumu alınıyor
diff --git a/pump/medtrum/src/main/res/values/strings.xml b/pump/medtrum/src/main/res/values/strings.xml
index 01bbe48505..f2a283e42f 100644
--- a/pump/medtrum/src/main/res/values/strings.xml
+++ b/pump/medtrum/src/main/res/values/strings.xml
@@ -5,6 +5,7 @@
alarm_setting
patch_expiration
pump_warning_notification
+ pump_expiry_warning_hour
hourly_max_insulin
daily_max_insulin
@@ -145,11 +146,13 @@
Select your preferred pump alarm settings.
Notification on pump warning
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.
+ Pump expiry warning [hours]
+ Show notification on specified hour after activation.
Patch Expiration
When enabled, the patch will expire after 3 days, with a grace period of 8 hours after that.
- Hourly Maximum Insulin
+ Hourly Maximum Insulin [Units]
Specify the maximum units of insulin allowed per hour. If exceeded, the pump will suspend.
- Daily Maximum Insulin
+ Daily Maximum Insulin [Units]
Specify the maximum units of insulin allowed per day. If exceeded, the pump will suspend.
diff --git a/pump/medtrum/src/main/res/xml/pref_medtrum_pump.xml b/pump/medtrum/src/main/res/xml/pref_medtrum_pump.xml
index 4e4ff321ba..67f807e549 100644
--- a/pump/medtrum/src/main/res/xml/pref_medtrum_pump.xml
+++ b/pump/medtrum/src/main/res/xml/pref_medtrum_pump.xml
@@ -13,12 +13,6 @@
android:singleLine="true"
android:title="@string/sn_input_title" />
-
-
+
+
+
+
-
-
-
- Aksies
-
-
- Bevestiging
-
- Opgeskort
- %1$.2f U
- Stoor
- Foute
-
- Kanselleer
- Volgende
- Gaan uit
-
-
-
- Ander
- Kennisgewings
-
- Loop tans
-
- Stel Bolus
- Stel Tydelike Basale
-
-
-
- Ja
- Nee
- OK
- Kanselleer
- Waarskuwing
-
-
- - %1$d minuut
- - %1$d minute
-
-
- - %1$d uur
- - %1$d ure
-
-
- - %1$d dae
- - %1$d dae
-
-
diff --git a/pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml b/pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 794ed6584c..0000000000
--- a/pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
- 確認
-
- %1$.2f U
- リザーバ
-
- キャンセル
- 終了
-
-
-
-
-
-
-
-
- Yes
- No
- OK
- キャンセル
-
-
diff --git a/pump/omnipod-common/src/main/res/values-nb-rNO/strings.xml b/pump/omnipod-common/src/main/res/values-nb-rNO/strings.xml
index 6682ce3e14..121dfd1331 100644
--- a/pump/omnipod-common/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/omnipod-common/src/main/res/values-nb-rNO/strings.xml
@@ -116,7 +116,7 @@
Varsler
Bekreftelseslyd
Varsler
- Lydvarsel for ubekreftet temp basal dosering (TBR) er aktivert
+ Lydvarsel for ubekreftet midlertidig basaldosering (TBR) er aktivert
Lydvarsel for ubekreftet SMB er aktivert
Lydvarsel for ubekreftet bolus er aktivert
@@ -134,7 +134,7 @@
Forkast Pod
Angi Bolus
Avbryt Bolus
- Angi Midlertidig Basal
+ Angi midlertidig basal
Avbryt midlertidig basal (internt av driver)
Avbryt midlertidig basal
Angi basalprogram
diff --git a/pump/omnipod-dash/src/main/res/values-af-rZA/strings.xml b/pump/omnipod-dash/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 759fb22223..0000000000
--- a/pump/omnipod-dash/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
- Datum
- %1$.2f U
-
-
-
- %1$.2f U
-
diff --git a/pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml b/pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index c8c46f9360..0000000000
--- a/pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
- 日時
- %1$.2f U
-
-
-
- %1$.2f U
-
diff --git a/pump/omnipod-eros/src/main/res/values-af-rZA/strings.xml b/pump/omnipod-eros/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 6f19cf1460..0000000000
--- a/pump/omnipod-eros/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
- Kennisgewings
- RileyLink
-
- Datum
- %1$.2f U
-
-
-
- Herstel RileyLink Konfig
-
-
-
diff --git a/pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml b/pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 4d4460e0ac..0000000000
--- a/pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
- 日時
- %1$.2f U
-
-
-
-
-
-
diff --git a/pump/omnipod-eros/src/main/res/values-nb-rNO/strings.xml b/pump/omnipod-eros/src/main/res/values-nb-rNO/strings.xml
index ba11108eea..3c5e9c91cb 100644
--- a/pump/omnipod-eros/src/main/res/values-nb-rNO/strings.xml
+++ b/pump/omnipod-eros/src/main/res/values-nb-rNO/strings.xml
@@ -44,10 +44,10 @@
Endring av basalprofil mislyktes. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig.
Endring av basalprofil kan ha feilet. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig.
Endring av basal profil mislyktes. Insulinlevering er stoppet! Velg gjenoppta levering manuelt fra Omnipod-menyen.
- Mislyktes trolig med å kansellere temp basal. Vennligst oppdater Pod status manuelt fra Omnipod menyen.
+ Mislyktes trolig med å kansellere midlertidig basal. Vennligst oppdater Pod-status manuelt fra Omnipod-menyen.
Endring av midlertidig basal var mislykket. En tidligere midlertidig basal kan ha blitt kansellert. Oppdater statusen på Pod manuelt fra Omnipod fanen.
- 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.
- TBR varighet må være større enn null og et multiplum av %1$s minutter.
+ 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.
+ Midlertidig basalvarighet må være større enn null og et multiplum av %1$s minutter.
Innstilling av tid kan ha mislyktes. Insulinlevering kan være pauset! Oppdater statusen manuelt fra fanen Omnipod og gjenoppta levering hvis nødvendig.
Endring av tid mislyktes. Insulinlevering er pauset! Velg gjenoppta levering manuelt fra Omnipod-fanen.
Feilet i å lese Pulsloggen
diff --git a/pump/pump-common/src/main/res/values-af-rZA/strings.xml b/pump/pump-common/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index bd2651a3b3..0000000000
--- a/pump/pump-common/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
- Operasie nie ondersteun deur pomp en/of drywer.
- Operasie nog nie ondersteun deur pomp.
- OK
- Pomp Reeks Nommer
-
-
- Basale
- Konfigurasies
- Kennisgewings
- Statistiek
- Onbekend
- Alle
- Boluses
- Prima
- Alarms
- Glukose
- Ander
-
-
- Skan
- Staak
- Verkose
- Skandeer
- Skandering voltooi
- Skaderings fout: %1$d
- Nooit
- Verwyder
-
- Bluetooth afgeskakel
- Geen Bluetooth Toestel
- Pomp onbereikbaar
-
- Verkeerde Maks Bolus gestel op Pomp(moet %1$.2f wees).
- Verkeerde Maks Basale op Pomp (moet %1$.2f %1$.2f wees),.
-
-
- Slaap
- Besig om te wek
- Aktief
- Fout met kommunikasie
- Te lank op kommunikasie gewag
- Pomp onbereikbaar
- Ongeldige konfigirasie
-
- - %1$d dae
- - %1$d dae
-
-
- - %1$d uur
- - %1$d ure
-
-
diff --git a/pump/pump-common/src/main/res/values-ja-rJP/strings.xml b/pump/pump-common/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index b5564ebfd8..0000000000
--- a/pump/pump-common/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- OK
- ポンプのシリアル番号
-
-
-
- 今日
-
- 停止
-
-
-
-
- - %1$d 日前
-
-
diff --git a/pump/rileylink/src/main/AndroidManifest.xml b/pump/rileylink/src/main/AndroidManifest.xml
index 684a90fcf6..fd581e2dd0 100644
--- a/pump/rileylink/src/main/AndroidManifest.xml
+++ b/pump/rileylink/src/main/AndroidManifest.xml
@@ -17,7 +17,7 @@
android:exported="false"
android:theme="@style/AppTheme">
-
+
diff --git a/pump/rileylink/src/main/res/values-af-rZA/strings.xml b/pump/rileylink/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 4a0fcf8e96..0000000000
--- a/pump/rileylink/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
- Skan
- Staak
- Verkose
- RileyLink Skan
- Skandeer
- Skandering voltooi
- Skaderings fout: %1$d
- Nooit
- Verwyder
-
- Instellings
- Geskiedenis
- RileyLink Status
- Pomp Status
- RileyLink Instellings
- RileyLink
- Naam:
- %1$d%%
- Verbindingstatus:
- Verbindingsfout:
- Toestel
- Toestel Tipe:
- Pomp Reeks Nommer:
- Pomp Frekwensie:
-
- Bluetooth Inisiasie…
- Bluetooth Fout
- Bluetooth Gereed
- Nie Begin
- RileyLink inisiasie…
- RileyLink Fout
- Probleel om met pomp te praat
- Gekoppel
-
- Toestel is nie RileyLink
- RileyLink onverkry
- Bluetooth afgeskakel
- Geen Bluetooth Toestel
- Opstel het gefaal
- Pomp onbereikbaar
- Pod onbereikbaar
-
- Medtronic Pomp
- Ja
- Nee
-
-
- - %1$d dae
- - %1$d dae
-
-
- - %1$d uur
- - %1$d ure
-
-
diff --git a/pump/rileylink/src/main/res/values-ja-rJP/strings.xml b/pump/rileylink/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 7580980a18..0000000000
--- a/pump/rileylink/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- 停止
-
- ポンプのシリアル番号:
- ポンプ周波数:
-
- 接続されました
-
-
- Yes
- No
-
-
diff --git a/pump/virtual/src/main/res/values-af-rZA/strings.xml b/pump/virtual/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 92c6f05599..0000000000
--- a/pump/virtual/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- Pomp integrasie vir pompe wat nog nie enige drywer het nie (oop lus)
- Virtuele pomp instellings
-
- * Slegs diskrete waardes geen reekse word ondersteun as granulariteit vir basale/bolus in virtuele pomp.
-
diff --git a/pump/virtual/src/main/res/values-ja-rJP/strings.xml b/pump/virtual/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index 5f1fadd4ab..0000000000
--- a/pump/virtual/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/shared/impl/src/main/kotlin/app/aaps/shared/impl/sharedPreferences/SPImplementation.kt b/shared/impl/src/main/kotlin/app/aaps/shared/impl/sharedPreferences/SPImplementation.kt
index 3c4cf0bb19..b4fbc5f852 100644
--- a/shared/impl/src/main/kotlin/app/aaps/shared/impl/sharedPreferences/SPImplementation.kt
+++ b/shared/impl/src/main/kotlin/app/aaps/shared/impl/sharedPreferences/SPImplementation.kt
@@ -149,7 +149,11 @@ class SPImplementation @Inject constructor(
return try {
sharedPreferences.getLong(context.getString(resourceID), defaultValue)
} catch (e: Exception) {
- SafeParse.stringToLong(sharedPreferences.getString(context.getString(resourceID), defaultValue.toString()), defaultValue)
+ try {
+ SafeParse.stringToLong(sharedPreferences.getString(context.getString(resourceID), defaultValue.toString()), defaultValue)
+ } catch (e1: Exception) {
+ return defaultValue
+ }
}
}
@@ -157,7 +161,11 @@ class SPImplementation @Inject constructor(
return try {
sharedPreferences.getLong(key, defaultValue)
} catch (e: Exception) {
- SafeParse.stringToLong(sharedPreferences.getString(key, defaultValue.toString()), defaultValue)
+ try {
+ SafeParse.stringToLong(sharedPreferences.getString(key, defaultValue.toString()), defaultValue)
+ } catch (e1: Exception) {
+ return defaultValue
+ }
}
}
diff --git a/ui/src/main/res/values-af-rZA/strings.xml b/ui/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index 2d968e1422..0000000000
--- a/ui/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
- Bolus beperking toegepas
- Karbs beperking toegepas
- TT
- Begin aktiwiteit TT
- Begin eet gou TT
- Begin hipo TT
- Tyd verskil
- min
-
-
- Statistiek
- Gewig
- Glukose tipe
- Ander
- Meter
- Sensor
-
- %1$s ISF: %2$.1f
- %1$.1fg IC: %2$.1f
- %1$.0fg IC: %2$.1f
- Totaal
-
- Maak asseblief seker dat die hoeveelheid ooreenstem met die spesifikasies van jou infusie stel!
- Rekord pomp ligging verandering
- Rekord insulien kasset verandering
-
- Moet nie bolus. Rekord alleen
-
- Tyd verskuiwing
- Persentasie
-
- Skort lus vir 1h
- Skort lus vir 2h
- Skort lus vir 3h
- Skort lus vir 10 h
- Ontkoppel pomp vir 15 min
- Ontkoppel pomp vir 30 min
- Ontkoppel pomp vir 1 h
- Ontkoppel pomp vir 2 h
- Ontkoppel pomp vir 3 h
- Hervat
- Herverbind Pomp
-
- 2h
- Resultaat: %1$s %2$s
- Karb tyd
-
- Bereken
- IAB:
- Insulien:
- Karbs:
- Totale IAB:
- Totale IAB aktiwiteit:
- Dur:
- Verhouding:
- Ins:
- IAB:
- Corr
- Maaltyd
- Prima
-
- Verkose:
-
- Basale waarde
-
- STAAK GEDRUK
-
-
diff --git a/ui/src/main/res/values-ja-rJP/strings.xml b/ui/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index cbc8360fc2..0000000000
--- a/ui/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 炭水化物:
- Corr
-
-
- 基礎レート
-
-
-
diff --git a/ui/src/main/res/values-nb-rNO/strings.xml b/ui/src/main/res/values-nb-rNO/strings.xml
index 206e1310d4..35ae9e2eb5 100644
--- a/ui/src/main/res/values-nb-rNO/strings.xml
+++ b/ui/src/main/res/values-nb-rNO/strings.xml
@@ -7,7 +7,7 @@
Start midlertidig mål for Aktivitet
Start midlertidig mål for Spise snart
Start midlertidig mål for Hypo
- Tids- forskyvning
+ Tidsforskyvning
min
Påminnelse om å gi bolus senere
angi påminnelse
@@ -45,7 +45,7 @@
Ikke gi bolus, bare loggfør hendelse
Gjenbruk %1$d%% %2$dt
- Tids- forskyving
+ Tidsforskyving
Prosent
Pause loop i 1t
diff --git a/wear/build.gradle b/wear/build.gradle
index adce2fa861..11c4ddad0f 100644
--- a/wear/build.gradle
+++ b/wear/build.gradle
@@ -5,7 +5,7 @@ buildscript {
}
dependencies {
- classpath "org.jacoco:org.jacoco.core:0.8.10"
+ classpath "org.jacoco:org.jacoco.core:0.8.11"
}
}
diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml
index 0a21c75013..e78e3571a2 100644
--- a/wear/src/main/AndroidManifest.xml
+++ b/wear/src/main/AndroidManifest.xml
@@ -70,56 +70,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wear/src/main/kotlin/app/aaps/wear/di/WearServicesModule.kt b/wear/src/main/kotlin/app/aaps/wear/di/WearServicesModule.kt
index 9a7f137b0f..cfcda2146f 100644
--- a/wear/src/main/kotlin/app/aaps/wear/di/WearServicesModule.kt
+++ b/wear/src/main/kotlin/app/aaps/wear/di/WearServicesModule.kt
@@ -20,8 +20,6 @@ import app.aaps.wear.tile.QuickWizardTileService
import app.aaps.wear.tile.TempTargetTileService
import app.aaps.wear.tile.TileBase
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.CircleWatchface
import app.aaps.wear.watchfaces.CustomWatchface
@@ -52,8 +50,6 @@ abstract class WearServicesModule {
@ContributesAndroidInjector abstract fun contributesWallpaperComplication(): WallpaperComplication
@ContributesAndroidInjector abstract fun contributesBaseWatchFace(): BaseWatchFace
- @ContributesAndroidInjector abstract fun contributesAapsWatchface(): AapsWatchface
- @ContributesAndroidInjector abstract fun contributesAapsV2Watchface(): AapsV2Watchface
@ContributesAndroidInjector abstract fun contributesAapsLargeWatchface(): AapsLargeWatchface
@ContributesAndroidInjector abstract fun contributesDigitalStyleWatchface(): DigitalStyleWatchface
@ContributesAndroidInjector abstract fun contributesBIGChart(): BigChartWatchface
diff --git a/wear/src/main/kotlin/app/aaps/wear/watchfaces/AapsV2Watchface.kt b/wear/src/main/kotlin/app/aaps/wear/watchfaces/AapsV2Watchface.kt
deleted file mode 100644
index df7723998d..0000000000
--- a/wear/src/main/kotlin/app/aaps/wear/watchfaces/AapsV2Watchface.kt
+++ /dev/null
@@ -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
- }
- }
-}
diff --git a/wear/src/main/kotlin/app/aaps/wear/watchfaces/AapsWatchface.kt b/wear/src/main/kotlin/app/aaps/wear/watchfaces/AapsWatchface.kt
deleted file mode 100644
index 5523e06b88..0000000000
--- a/wear/src/main/kotlin/app/aaps/wear/watchfaces/AapsWatchface.kt
+++ /dev/null
@@ -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()
- }
- }
-}
diff --git a/wear/src/main/kotlin/app/aaps/wear/watchfaces/CustomWatchface.kt b/wear/src/main/kotlin/app/aaps/wear/watchfaces/CustomWatchface.kt
index 6f7e93d53a..62fa6701f0 100644
--- a/wear/src/main/kotlin/app/aaps/wear/watchfaces/CustomWatchface.kt
+++ b/wear/src/main/kotlin/app/aaps/wear/watchfaces/CustomWatchface.kt
@@ -62,7 +62,7 @@ class CustomWatchface : BaseWatchFace() {
private lateinit var binding: ActivityCustomBinding
private var zoomFactor = 1.0
private val displaySize = Point()
- private val TEMPLATE_RESOLUTION = 400
+ private val templeResolution = 400
private var lowBatColor = Color.RED
private var resDataMap: CwfResDataMap = mutableMapOf()
private var json = JSONObject()
@@ -81,7 +81,7 @@ class CustomWatchface : BaseWatchFace() {
setDefaultColors()
persistence.store(defaultWatchface(), true)
(context.getSystemService(WINDOW_SERVICE) as WindowManager).defaultDisplay.getSize(displaySize)
- zoomFactor = (displaySize.x).toDouble() / TEMPLATE_RESOLUTION.toDouble()
+ zoomFactor = (displaySize.x).toDouble() / templeResolution.toDouble()
return binding
}
@@ -106,15 +106,15 @@ class CustomWatchface : BaseWatchFace() {
override fun setColorDark() {
setWatchfaceStyle()
- if ((ViewMap.SGV.dynData?.stepFontColor ?: 0) == 0)
+ if ((ViewMap.SGV.dynData?.stepFontColor ?: 0) <= 0)
binding.sgv.setTextColor(bgColor)
- if ((ViewMap.DIRECTION.dynData?.stepColor ?: 0) == 0)
+ if ((ViewMap.DIRECTION.dynData?.stepColor ?: 0) <= 0)
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))
- 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)
- 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) {
-1 -> binding.loop.setBackgroundResource(R.drawable.loop_grey_25)
1 -> binding.loop.setBackgroundResource(R.drawable.loop_green_25)
@@ -156,25 +156,30 @@ class CustomWatchface : BaseWatchFace() {
if (!resDataMap.isEquals(it.customWatchfaceData.resDatas) || jsonString != it.customWatchfaceData.json) {
resDataMap = it.customWatchfaceData.resDatas
jsonString = it.customWatchfaceData.json
+ DynProvider.init(this, json)
FontMap.init(this)
ViewMap.init(this)
TrendArrowMap.init(this)
- DynProvider.init(json.optJSONObject(DYNDATA.key))
}
+ if (checkPref()) {
+ DynProvider.init(this, json)
+ }
+
enableSecond = json.optBoolean(ENABLESECOND.key) && sp.getBoolean(R.string.key_show_seconds, true)
- highColor = getColor(json.optString(HIGHCOLOR.key), ContextCompat.getColor(this, R.color.dark_highColor))
- midColor = getColor(json.optString(MIDCOLOR.key), ContextCompat.getColor(this, R.color.inrange))
- lowColor = getColor(json.optString(LOWCOLOR.key), ContextCompat.getColor(this, R.color.low))
- lowBatColor = getColor(json.optString(LOWBATCOLOR.key), ContextCompat.getColor(this, R.color.dark_uploaderBatteryEmpty))
- carbColor = getColor(json.optString(CARBCOLOR.key), ContextCompat.getColor(this, R.color.carbs))
- basalBackgroundColor = getColor(json.optString(BASALBACKGROUNDCOLOR.key), ContextCompat.getColor(this, R.color.basal_dark))
- basalCenterColor = getColor(json.optString(BASALCENTERCOLOR.key), ContextCompat.getColor(this, R.color.basal_light))
- gridColor = getColor(json.optString(GRIDCOLOR.key), Color.WHITE)
pointSize = json.optInt(POINTSIZE.key, 2)
dayNameFormat = json.optString(DAYNAMEFORMAT.key, "E").takeIf { it.matches(Regex("E{1,4}")) } ?: "E"
monthFormat = json.optString(MONTHFORMAT.key, "MMM").takeIf { it.matches(Regex("M{1,4}")) } ?: "MMM"
- binding.dayName.text = dateUtil.dayNameString(dayNameFormat).substringBeforeLast(".") // Update daynName and month according to format on cwf loading
+ binding.dayName.text = dateUtil.dayNameString(dayNameFormat).substringBeforeLast(".") // Update dayName and month according to format on cwf loading
binding.month.text = dateUtil.monthString(monthFormat).substringBeforeLast(".")
+ val jsonColor = dynPref[json.optString(DYNPREFCOLOR.key)] ?: json
+ highColor = getColor(jsonColor.optString(HIGHCOLOR.key), ContextCompat.getColor(this, R.color.dark_highColor))
+ midColor = getColor(jsonColor.optString(MIDCOLOR.key), ContextCompat.getColor(this, R.color.inrange))
+ lowColor = getColor(jsonColor.optString(LOWCOLOR.key), ContextCompat.getColor(this, R.color.low))
+ lowBatColor = getColor(jsonColor.optString(LOWBATCOLOR.key), ContextCompat.getColor(this, R.color.dark_uploaderBatteryEmpty))
+ carbColor = getColor(jsonColor.optString(CARBCOLOR.key), ContextCompat.getColor(this, R.color.carbs))
+ basalBackgroundColor = getColor(jsonColor.optString(BASALBACKGROUNDCOLOR.key), ContextCompat.getColor(this, R.color.basal_dark))
+ basalCenterColor = getColor(jsonColor.optString(BASALCENTERCOLOR.key), ContextCompat.getColor(this, R.color.basal_light))
+ gridColor = getColor(jsonColor.optString(GRIDCOLOR.key), Color.WHITE)
binding.mainLayout.forEach { view ->
ViewMap.fromId(view.id)?.let { viewMap ->
@@ -333,7 +338,7 @@ class CustomWatchface : BaseWatchFace() {
private fun manageSpecificViews() {
//Background should fill all the watchface and must be visible
- val params = FrameLayout.LayoutParams((TEMPLATE_RESOLUTION * zoomFactor).toInt(), (TEMPLATE_RESOLUTION * zoomFactor).toInt())
+ val params = FrameLayout.LayoutParams((templeResolution * zoomFactor).toInt(), (templeResolution * zoomFactor).toInt())
params.topMargin = 0
params.leftMargin = 0
binding.background.layoutParams = params
@@ -388,10 +393,10 @@ class CustomWatchface : BaseWatchFace() {
MINUTE(ViewKeys.MINUTE.key, R.id.minute),
SECOND(ViewKeys.SECOND.key, R.id.second, R.string.key_show_seconds),
TIMEPERIOD(ViewKeys.TIMEPERIOD.key, R.id.timePeriod),
- DAY_NAME(ViewKeys.DAY_NAME.key, R.id.day_name),
- DAY(ViewKeys.DAY.key, R.id.day),
+ DAY_NAME(ViewKeys.DAY_NAME.key, R.id.day_name, R.string.key_show_date),
+ 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),
- 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),
DIRECTION(ViewKeys.DIRECTION.key, R.id.direction2, R.string.key_show_direction),
TIMESTAMP(ViewKeys.TIMESTAMP.key, R.id.timestamp, R.string.key_show_ago),
@@ -431,7 +436,7 @@ class CustomWatchface : BaseWatchFace() {
);
companion object {
- val TRANSPARENT = "#00000000"
+ const val TRANSPARENT = "#00000000"
fun init(cwf: CustomWatchface) = values().forEach {
it.cwf = cwf
// reset all customized drawable when new watchface is loaded
@@ -486,7 +491,7 @@ class CustomWatchface : BaseWatchFace() {
left = (viewJson.optInt(LEFTMARGIN.key) * cwf.zoomFactor).toInt()
top = (viewJson.optInt(TOPMARGIN.key) * cwf.zoomFactor).toInt()
val params = FrameLayout.LayoutParams(width, height)
- dynData = DynProvider.getDyn(cwf, 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 topOffsetTwin = ((twinView?.let { if (it.visibility != View.VISIBLE) viewJson.optInt(TOPOFFSETTWINHIDDEN.key,0) else 0 } ?: 0 ) * cwf.zoomFactor).toInt()
params.topMargin = top + topOffset + topOffsetTwin
@@ -502,7 +507,7 @@ class CustomWatchface : BaseWatchFace() {
fun customizeTextView(view: TextView) {
customizeViewCommon(view)
viewJson?.let { viewJson ->
- view.setTextSize(TypedValue.COMPLEX_UNIT_PX, (viewJson.optInt(TEXTSIZE.key, 22) * cwf.zoomFactor).toFloat())
+ view.setTextSize(TypedValue.COMPLEX_UNIT_PX, ((dynData?.getTextSize() ?: viewJson.optInt(TEXTSIZE.key, 22)) * cwf.zoomFactor).toFloat())
view.gravity = GravityMap.gravity(viewJson.optString(GRAVITY.key, GravityMap.CENTER.key))
view.setTypeface(
FontMap.font(viewJson.optString(FONT.key, FontMap.DEFAULT.key)),
@@ -651,26 +656,36 @@ class CustomWatchface : BaseWatchFace() {
}
// This class containt mapping between keys used within json of Custom Watchface and preferences
- private enum class PrefMap(val key: String, @StringRes val prefKey: Int) {
+ private enum class PrefMap(val key: String, @StringRes val prefKey: Int, val typeBool: Boolean) {
- SHOW_IOB(CwfMetadataKey.CWF_PREF_WATCH_SHOW_IOB.key, R.string.key_show_iob),
- SHOW_DETAILED_IOB(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DETAILED_IOB.key, R.string.key_show_detailed_iob),
- SHOW_COB(CwfMetadataKey.CWF_PREF_WATCH_SHOW_COB.key, R.string.key_show_cob),
- SHOW_DELTA(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DELTA.key, R.string.key_show_delta),
- SHOW_AVG_DELTA(CwfMetadataKey.CWF_PREF_WATCH_SHOW_AVG_DELTA.key, R.string.key_show_avg_delta),
- SHOW_DETAILED_DELTA(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DETAILED_DELTA.key, R.string.key_show_detailed_delta),
- SHOW_UPLOADER_BATTERY(CwfMetadataKey.CWF_PREF_WATCH_SHOW_UPLOADER_BATTERY.key, R.string.key_show_uploader_battery),
- SHOW_RIG_BATTERY(CwfMetadataKey.CWF_PREF_WATCH_SHOW_RIG_BATTERY.key, R.string.key_show_rig_battery),
- SHOW_TEMP_BASAL(CwfMetadataKey.CWF_PREF_WATCH_SHOW_TEMP_BASAL.key, R.string.key_show_temp_basal),
- SHOW_DIRECTION(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DIRECTION.key, R.string.key_show_direction),
- SHOW_AGO(CwfMetadataKey.CWF_PREF_WATCH_SHOW_AGO.key, R.string.key_show_ago),
- SHOW_BG(CwfMetadataKey.CWF_PREF_WATCH_SHOW_BG.key, R.string.key_show_bg),
- SHOW_BGI(CwfMetadataKey.CWF_PREF_WATCH_SHOW_BGI.key, R.string.key_show_bgi),
- SHOW_LOOP_STATUS(CwfMetadataKey.CWF_PREF_WATCH_SHOW_LOOP_STATUS.key, R.string.key_show_external_status),
- SHOW_WEEK_NUMBER(CwfMetadataKey.CWF_PREF_WATCH_SHOW_WEEK_NUMBER.key, R.string.key_show_week_number)
+ SHOW_IOB(CwfMetadataKey.CWF_PREF_WATCH_SHOW_IOB.key, R.string.key_show_iob, true),
+ SHOW_DETAILED_IOB(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DETAILED_IOB.key, R.string.key_show_detailed_iob, true),
+ SHOW_COB(CwfMetadataKey.CWF_PREF_WATCH_SHOW_COB.key, R.string.key_show_cob, true),
+ SHOW_DELTA(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DELTA.key, R.string.key_show_delta, true),
+ SHOW_AVG_DELTA(CwfMetadataKey.CWF_PREF_WATCH_SHOW_AVG_DELTA.key, R.string.key_show_avg_delta, true),
+ SHOW_DETAILED_DELTA(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DETAILED_DELTA.key, R.string.key_show_detailed_delta, true),
+ SHOW_UPLOADER_BATTERY(CwfMetadataKey.CWF_PREF_WATCH_SHOW_UPLOADER_BATTERY.key, R.string.key_show_uploader_battery, true),
+ SHOW_RIG_BATTERY(CwfMetadataKey.CWF_PREF_WATCH_SHOW_RIG_BATTERY.key, R.string.key_show_rig_battery, true),
+ SHOW_TEMP_BASAL(CwfMetadataKey.CWF_PREF_WATCH_SHOW_TEMP_BASAL.key, R.string.key_show_temp_basal, true),
+ SHOW_DIRECTION(CwfMetadataKey.CWF_PREF_WATCH_SHOW_DIRECTION.key, R.string.key_show_direction, true),
+ SHOW_AGO(CwfMetadataKey.CWF_PREF_WATCH_SHOW_AGO.key, R.string.key_show_ago, true),
+ SHOW_BG(CwfMetadataKey.CWF_PREF_WATCH_SHOW_BG.key, R.string.key_show_bg, 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_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_DARK(JsonKeyValues.PREF_DARK.key, R.string.key_dark, true),
+ PREF_MATCH_DIVIDER(JsonKeyValues.PREF_MATCH_DIVIDER.key, R.string.key_match_divider, true);
+
+ var value: String = ""
+ companion object {
+ fun fromKey(key: String) = PrefMap.values().firstOrNull { it.key == key }
+ }
}
private enum class ValueMap(val key: String, val min: Double, val max: Double) {
+ NONE("", 0.0, 0.0),
SGV(ViewKeys.SGV.key, 39.0, 400.0),
SGVLEVEL(JsonKeyValues.SGVLEVEL.key, -1.0, 1.0),
DIRECTION(ViewKeys.DIRECTION.key, 1.0, 7.0),
@@ -704,7 +719,7 @@ class CustomWatchface : BaseWatchFace() {
companion object {
- fun fromKey(key: String) = values().firstOrNull { it.key == key }
+ fun fromKey(key: String) = values().firstOrNull { it.key == key } ?: NONE
}
}
@@ -713,6 +728,7 @@ class CustomWatchface : BaseWatchFace() {
private val dynDrawable = mutableMapOf()
private val dynColor = mutableMapOf()
private val dynFontColor = mutableMapOf()
+ private val dynTextSize = mutableMapOf()
private var dataRange: DataRange? = null
private var topRange: DataRange? = null
private var leftRange: DataRange? = null
@@ -720,12 +736,15 @@ class CustomWatchface : BaseWatchFace() {
val stepDraw: Int
get() = dynDrawable.size - 1
val stepColor: Int
- get() = dynColor.size - 1
+ get() = dynColor[0]?.let { dynColor.size - 1 } ?: dynColor.size
val stepFontColor: Int
- get() = dynFontColor.size - 1
+ get() = dynFontColor[0]?.let { dynFontColor.size - 1 } ?: dynFontColor.size
+ val stepTextSize: Int
+ get() = dynTextSize[0]?.let { dynTextSize.size - 1 } ?: dynTextSize.size
val dataValue: Double?
get() = when (valueMap) {
+ ValueMap.NONE -> 0.0
ValueMap.SGV -> if (cwf.singleBg.sgvString != "---") cwf.singleBg.sgv else null
ValueMap.SGVLEVEL -> if (cwf.singleBg.sgvString != "---") cwf.singleBg.sgvLevel.toDouble() else null
ValueMap.DIRECTION -> TrendArrowMap.value()
@@ -747,50 +766,76 @@ class CustomWatchface : BaseWatchFace() {
?: (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 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] } else null
- fun getColor() = if (stepColor > 0) dataRange?.let { dataRange -> dataValue?.let { dynColor[valueMap.stepValue(it, dataRange, stepColor)] } ?: dynColor[0] } else null
+ fun getFontColor() = if (stepFontColor > 0) dataRange?.let { dataRange -> dataValue?.let { dynFontColor[valueMap.stepValue(it, dataRange, stepFontColor)] } ?: dynFontColor[0] ?: dynFontColor[1] } else null
+ fun getTextSize() = if (stepTextSize > 0) dataRange?.let { dataRange -> dataValue?.let { dynTextSize[valueMap.stepValue(it, dataRange, stepTextSize)] } ?: dynTextSize[0] ?: dynTextSize[1] } else null
+ fun getColor() = if (stepColor > 0) dataRange?.let { dataRange -> dataValue?.let { dynColor[valueMap.stepValue(it, dataRange, stepColor)] } ?: dynColor[0] ?: dynColor[1] } else null
private fun load() {
- dynDrawable[0] = dataJson.optString(INVALIDIMAGE.key)?.let { cwf.resDataMap[it]?.toDrawable(cwf.resources, width, height) }
- var idx = 1
- while (dataJson.has("${IMAGE.key}$idx")) {
- cwf.resDataMap[dataJson.optString("${IMAGE.key}$idx")]?.toDrawable(cwf.resources, width, height).also { dynDrawable[idx] = it }
- idx++
- }
- 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++
- }
- 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++
- }
DataRange(dataJson.optDouble(MINDATA.key, valueMap.min), dataJson.optDouble(MAXDATA.key, valueMap.max)).let { defaultRange ->
dataRange = defaultRange
topRange = parseDataRange(dataJson.optJSONObject(TOPOFFSET.key), defaultRange)
leftRange = parseDataRange(dataJson.optJSONObject(LEFTOFFSET.key), defaultRange)
rotationRange = parseDataRange(dataJson.optJSONObject(ROTATIONOFFSET.key), defaultRange)
}
+ if (dataJson.has(INVALIDIMAGE.key))
+ dynDrawable[0] = dataJson.optString(INVALIDIMAGE.key)?.let { cwf.resDataMap[it]?.toDrawable(cwf.resources, width, height) }
+ var idx = 1
+ while (dataJson.has("${IMAGE.key}$idx")) {
+ cwf.resDataMap[dataJson.optString("${IMAGE.key}$idx")]?.toDrawable(cwf.resources, width, height).also { dynDrawable[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++
+ }
+ if (dataJson.has(INVALIDTEXTSIZE.key))
+ dynTextSize[0] = cwf.getColor(dataJson.optString(INVALIDTEXTSIZE.key))
+ idx = 1
+ while (dataJson.has("${TEXTSIZE.key}$idx")) {
+ dynTextSize[idx] = dataJson.optInt("${TEXTSIZE.key}$idx", 22)
+ idx++
+ }
}
companion object {
-
val dynData = mutableMapOf()
var dynJson: JSONObject? = null
- fun init(dynJson: JSONObject?) {
- this.dynJson = dynJson
+ fun init(cwf: CustomWatchface, json: JSONObject?) {
+ cwf.dynPref(json?.optJSONObject((DYNPREF.key)))
+ this.dynJson = json?.optJSONObject((DYNDATA.key))
dynData.clear()
}
- fun getDyn(cwf: CustomWatchface, key: String, width: Int, height: Int, defaultViewKey: String): DynProvider? = dynData["${defaultViewKey}_$key"]
- ?: dynJson?.optJSONObject(key)?.let { dataJson ->
- ValueMap.fromKey(dataJson.optString(VALUEKEY.key, defaultViewKey))?.let { valueMap ->
- DynProvider(cwf, dataJson, valueMap, width, height).also { it.load() }
+ fun getDyn(cwf: CustomWatchface, keyPref: String, key: String, width: Int, height: Int, defaultViewKey: String): DynProvider? {
+ if (dynData[defaultViewKey] != null)
+ return dynData[defaultViewKey]
+
+ cwf.dynPref[keyPref]?.let { dynPref ->
+ ValueMap.fromKey(dynPref.optString(VALUEKEY.key, defaultViewKey)).let { valueMap ->
+ DynProvider(cwf, dynPref, valueMap, width, height).also { it.load() }
}
- }?.also { dynData["${defaultViewKey}_$key"] = it }
+ }?.also { dynData[defaultViewKey] = it }
+
+ if (dynData[defaultViewKey] != null)
+ return dynData[defaultViewKey]
+
+ dynJson?.optJSONObject(key)?.let { dynJson ->
+ ValueMap.fromKey(dynJson.optString(VALUEKEY.key, defaultViewKey)).let { valueMap ->
+ DynProvider(cwf, dynJson, valueMap, width, height).also { it.load() }
+ }
+ }?.also { dynData[defaultViewKey] = it }
+
+ return dynData[defaultViewKey]
+ }
private fun parseDataRange(json: JSONObject?, defaultData: DataRange) =
json?.let {
@@ -804,6 +849,53 @@ class CustomWatchface : BaseWatchFace() {
}
private class DataRange (val minData: Double, val maxData: Double, val invalidData: Int = 0)
+
+ // block below build a map of prefKey => json Bloc recursively
+ val dynPref = mutableMapOf()
+ private val valPref = mutableMapOf()
+ fun dynPref(dynJson: JSONObject?) {
+ valPref.clear()
+ dynPref.clear()
+ dynJson?.keys()?.forEach { key ->
+ val targetJson = JSONObject()
+ dynJson.optJSONObject(key)?.let { buildDynPrefs(dynJson, targetJson, it, key, mutableSetOf()) }
+ }
+ }
+
+ private fun buildDynPrefs(dynJson: JSONObject, targetJson: JSONObject, json: JSONObject, key: String, visitedKeys: MutableSet) {
+ val prefKey = json.optString(PREFKEY.key)
+ PrefMap.fromKey(prefKey)?.let { prefMap ->
+ val value = valPref[prefMap.key]
+ ?: (if (prefMap.typeBool) sp.getBoolean(prefMap.prefKey, false).toString() else sp.getString(prefMap.prefKey, "")).also {
+ valPref[prefMap.key] = it
+ }
+ json.optJSONObject(value)?.let { nextJson ->
+ 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)
+ if (nextKey.isNotEmpty() && nextKey !in visitedKeys) {
+ visitedKeys += nextKey
+ dynJson.optJSONObject(nextKey)?.let {
+ buildDynPrefs(dynJson, targetJson, it, key, visitedKeys)
+ }
+ }
+ } else {
+ nextJson.keys().forEach { key ->
+ if ( key != DYNPREF.key)
+ targetJson.putOpt(key, nextJson.opt(key))
+ }
+ dynPref[key] = targetJson
+ }
+ }
+ }
+ }
+
+ private fun checkPref() = valPref.any { (prefMap, s) ->
+ s != PrefMap.fromKey(prefMap)?.let { if (it.typeBool) sp.getBoolean(it.prefKey, false).toString() else sp.getString(it.prefKey, "") }
+ }
}
diff --git a/wear/src/main/kotlin/app/aaps/wear/watchfaces/utils/WatchfaceViewAdapter.kt b/wear/src/main/kotlin/app/aaps/wear/watchfaces/utils/WatchfaceViewAdapter.kt
index 18c06f1ef1..70748075b8 100644
--- a/wear/src/main/kotlin/app/aaps/wear/watchfaces/utils/WatchfaceViewAdapter.kt
+++ b/wear/src/main/kotlin/app/aaps/wear/watchfaces/utils/WatchfaceViewAdapter.kt
@@ -4,8 +4,6 @@ import androidx.viewbinding.ViewBinding
import app.aaps.wear.databinding.ActivityBigchartBinding
import app.aaps.wear.databinding.ActivityCustomBinding
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.ActivityNochartBinding
@@ -15,8 +13,6 @@ import app.aaps.wear.databinding.ActivityNochartBinding
*/
class WatchfaceViewAdapter(
aL: ActivityHomeLargeBinding? = null,
- a2: ActivityHome2Binding? = null,
- aa: ActivityHomeBinding? = null,
bC: ActivityBigchartBinding? = null,
ds: ActivityDigitalstyleBinding? = null,
nC: ActivityNochartBinding? = null,
@@ -24,7 +20,7 @@ class WatchfaceViewAdapter(
) {
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")
}
}
@@ -33,47 +29,46 @@ class WatchfaceViewAdapter(
// Required attributes
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)
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)
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)
// Optional attributes
- val sgv = aL?.sgv ?: a2?.sgv ?: aa?.sgv ?: bC?.sgv ?: bC?.sgv ?: ds?.sgv ?: nC?.sgv ?: cU?.sgv
- val direction = aL?.direction ?: a2?.direction ?: aa?.direction ?: ds?.direction
- val loop = a2?.loop ?: cU?.loop
- val delta = aL?.delta ?: a2?.delta ?: aa?.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 uploaderBattery = aL?.uploaderBattery ?: a2?.uploaderBattery ?: aa?.uploaderBattery ?: ds?.uploaderBattery ?: cU?.uploaderBattery
- val rigBattery = a2?.rigBattery ?: ds?.rigBattery ?: cU?.rigBattery
- val basalRate = a2?.basalRate ?: ds?.basalRate ?: cU?.basalRate
- val bgi = a2?.bgi ?: ds?.bgi ?: cU?.bgi
- val AAPSv2 = a2?.AAPSv2 ?: ds?.AAPSv2 ?: cU?.AAPSv2
- val cob1 = a2?.cob1 ?: ds?.cob1 ?: cU?.cob1
- val cob2 = a2?.cob2 ?: ds?.cob2 ?: cU?.cob2
- val time = aL?.time ?: a2?.time ?: aa?.time ?: bC?.time ?: bC?.time ?: nC?.time ?: cU?.time
+ val sgv = aL?.sgv ?: bC?.sgv ?: bC?.sgv ?: ds?.sgv ?: nC?.sgv ?: cU?.sgv
+ val direction = aL?.direction ?: ds?.direction
+ val loop = cU?.loop
+ val delta = aL?.delta ?: bC?.delta ?: bC?.delta ?: ds?.delta ?: nC?.delta ?: cU?.delta
+ val avgDelta = bC?.avgDelta ?: bC?.avgDelta ?: ds?.avgDelta ?: nC?.avgDelta ?: cU?.avgDelta
+ val uploaderBattery = aL?.uploaderBattery ?: ds?.uploaderBattery ?: cU?.uploaderBattery
+ val rigBattery = ds?.rigBattery ?: cU?.rigBattery
+ val basalRate = ds?.basalRate ?: cU?.basalRate
+ val bgi = ds?.bgi ?: cU?.bgi
+ val AAPSv2 = ds?.AAPSv2 ?: cU?.AAPSv2
+ val cob1 = ds?.cob1 ?: cU?.cob1
+ val cob2 = ds?.cob2 ?: cU?.cob2
+ val time = aL?.time ?: bC?.time ?: bC?.time ?: nC?.time ?: cU?.time
val second = cU?.second
val minute = ds?.minute ?: cU?.minute
val hour = ds?.hour ?: cU?.hour
- val day = a2?.day ?: ds?.day ?: cU?.day
- val month = a2?.month ?: ds?.month ?: cU?.month
- val iob1 = a2?.iob1 ?: ds?.iob1 ?: cU?.iob1
- val iob2 = a2?.iob2 ?: ds?.iob2 ?: cU?.iob2
- val chart = a2?.chart ?: aa?.chart ?: bC?.chart ?: bC?.chart ?: ds?.chart ?: cU?.chart
- val status = aL?.status ?: aa?.status ?: bC?.status ?: bC?.status ?: nC?.status
+ val day = ds?.day ?: cU?.day
+ val month = ds?.month ?: cU?.month
+ val iob1 = ds?.iob1 ?: cU?.iob1
+ val iob2 = ds?.iob2 ?: cU?.iob2
+ val chart = bC?.chart ?: bC?.chart ?: ds?.chart ?: cU?.chart
+ val status = aL?.status ?: bC?.status ?: bC?.status ?: nC?.status
val timePeriod = ds?.timePeriod ?: aL?.timePeriod ?: nC?.timePeriod ?: bC?.timePeriod ?: cU?.timePeriod
val dayName = ds?.dayName ?: cU?.dayName
val mainMenuTap = ds?.mainMenuTap
val chartZoomTap = ds?.chartZoomTap
- val dateTime = ds?.dateTime ?: a2?.dateTime
+ val dateTime = ds?.dateTime
val weekNumber = ds?.weekNumber ?: cU?.weekNumber
// val minuteHand = cU?.minuteHand
- // val secondaryLayout = aL?.secondaryLayout ?: a2?.secondaryLayout ?: aa?.secondaryLayout ?: ds?.secondaryLayout
- // val tertiaryLayout = a2?.tertiaryLayout
+ // val secondaryLayout = aL?.secondaryLayout ?: ds?.secondaryLayout
// val hourHand = cU?.hourHand
companion object {
@@ -81,12 +76,10 @@ class WatchfaceViewAdapter(
fun getBinding(bindLayout: ViewBinding): WatchfaceViewAdapter {
return when (bindLayout) {
is ActivityHomeLargeBinding -> WatchfaceViewAdapter(bindLayout)
- is ActivityHome2Binding -> WatchfaceViewAdapter(null, bindLayout)
- is ActivityHomeBinding -> WatchfaceViewAdapter(null, null, bindLayout)
- is ActivityBigchartBinding -> WatchfaceViewAdapter(null, null, null, bindLayout)
- is ActivityDigitalstyleBinding -> 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)
+ is ActivityBigchartBinding -> WatchfaceViewAdapter(null, bindLayout)
+ is ActivityDigitalstyleBinding -> WatchfaceViewAdapter(null, null, bindLayout)
+ is ActivityNochartBinding -> WatchfaceViewAdapter(null, null, null, bindLayout)
+ is ActivityCustomBinding -> WatchfaceViewAdapter(null, null, null, null, bindLayout)
else -> throw IllegalArgumentException("ViewBinding is not implement in WatchfaceViewAdapter")
}
}
diff --git a/wear/src/main/res/drawable/watchface_graph.png b/wear/src/main/res/drawable/watchface_graph.png
deleted file mode 100644
index af9e88a227..0000000000
Binary files a/wear/src/main/res/drawable/watchface_graph.png and /dev/null differ
diff --git a/wear/src/main/res/drawable/watchface_graph_2.png b/wear/src/main/res/drawable/watchface_graph_2.png
deleted file mode 100644
index de0aab2d42..0000000000
Binary files a/wear/src/main/res/drawable/watchface_graph_2.png and /dev/null differ
diff --git a/wear/src/main/res/layout/activity_home.xml b/wear/src/main/res/layout/activity_home.xml
deleted file mode 100644
index 6a046da239..0000000000
--- a/wear/src/main/res/layout/activity_home.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wear/src/main/res/layout/activity_home_2.xml b/wear/src/main/res/layout/activity_home_2.xml
deleted file mode 100644
index 0244393e33..0000000000
--- a/wear/src/main/res/layout/activity_home_2.xml
+++ /dev/null
@@ -1,285 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wear/src/main/res/values-af-rZA/strings.xml b/wear/src/main/res/values-af-rZA/strings.xml
deleted file mode 100644
index beda65c2f1..0000000000
--- a/wear/src/main/res/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
- Laag
- Hoog
- Outo
- Rekenaar
- Bereken
- Behandeling
- Bolus
- Karbs
- Instellings
- Status
- Prima/vul
- Duur
- Doelwit
- Laag
- Hoog
- Karbs
- Persentasie
- Durasie [h]
- Insulien
- Bolus
- Pomp
- Lus
- Profiel wissel
- TDD
- IAB
- Af
- Hipo
- Aktiwiteit
- Per hand
- Kanselleer
- --U
-
diff --git a/wear/src/main/res/values-bg-rBG/strings.xml b/wear/src/main/res/values-bg-rBG/strings.xml
index eeca18334c..3bfc3b9773 100644
--- a/wear/src/main/res/values-bg-rBG/strings.xml
+++ b/wear/src/main/res/values-bg-rBG/strings.xml
@@ -7,7 +7,6 @@
AAPS(Графика)
AAPS(без Графика)
AAPS(Кръгъл)
- AAPS(v2)
AAPS (DigitalStyle)
AAPS(Персонализиран)
AAPS(Действия)
diff --git a/wear/src/main/res/values-cs-rCZ/strings.xml b/wear/src/main/res/values-cs-rCZ/strings.xml
index ff0f4e4dfb..30e21a1d06 100644
--- a/wear/src/main/res/values-cs-rCZ/strings.xml
+++ b/wear/src/main/res/values-cs-rCZ/strings.xml
@@ -7,7 +7,6 @@
AAPS(VelkýGraf)
AAPS(BezGrafu)
AAPS(Kruhový)
- AAPS(v2)
AAPS (DigitalStyle)
AAPS (vlastní)
AAPS(Akce)
diff --git a/wear/src/main/res/values-da-rDK/strings.xml b/wear/src/main/res/values-da-rDK/strings.xml
index 3dc905dda5..7253646633 100644
--- a/wear/src/main/res/values-da-rDK/strings.xml
+++ b/wear/src/main/res/values-da-rDK/strings.xml
@@ -7,7 +7,6 @@
AAPS(StorGraf)
AAPS(IngenGraf)
AAPS(Cirkel)
- AAPS(v2)
AAPS (DigitalStil)
AAPS(Brugerdefineret)
AAPS (Handlinger)
diff --git a/wear/src/main/res/values-de-rDE/strings.xml b/wear/src/main/res/values-de-rDE/strings.xml
index ea613f1c35..05c79df832 100644
--- a/wear/src/main/res/values-de-rDE/strings.xml
+++ b/wear/src/main/res/values-de-rDE/strings.xml
@@ -7,7 +7,6 @@
AAPS(GroßerGraph)
AAPS(KeinGraph)
AAPS(Kreis)
- AAPS(v2)
AAPS(DigitalStyle)
AAPS(Custom)
AAPS(Aktionen)
diff --git a/wear/src/main/res/values-el-rGR/strings.xml b/wear/src/main/res/values-el-rGR/strings.xml
index 52efac981f..2b1ce01ed0 100644
--- a/wear/src/main/res/values-el-rGR/strings.xml
+++ b/wear/src/main/res/values-el-rGR/strings.xml
@@ -7,7 +7,6 @@
AAPS(μεγαλο_γράφημα)
AAPS(χωρίς_γράφημα)
AAPS(Κυκλικό)
- AAPS(v2)
AAPS(ψηφιακό)
AAPS(προσαρμοσμένα_χαρακτηριστικά)
AAPS( Ενέργειες)
diff --git a/wear/src/main/res/values-es-rES/strings.xml b/wear/src/main/res/values-es-rES/strings.xml
index d7dd4c9ac3..7cbbf11d3d 100644
--- a/wear/src/main/res/values-es-rES/strings.xml
+++ b/wear/src/main/res/values-es-rES/strings.xml
@@ -7,7 +7,6 @@
AAPS (Aumentado)
AAPS (SinGráfico)
AAPS (Círculo)
- AAPS(v2)
AAPS (Digital)
AAPS(personalizado)
AAPS(Acciones)
diff --git a/wear/src/main/res/values-fr-rFR/strings.xml b/wear/src/main/res/values-fr-rFR/strings.xml
index 3c0669aac0..fe943cf4cb 100644
--- a/wear/src/main/res/values-fr-rFR/strings.xml
+++ b/wear/src/main/res/values-fr-rFR/strings.xml
@@ -7,7 +7,6 @@
AAPS (GrandGraph)
AAPS (SansGraph)
AAPS (Cercle)
- AAPS (v2)
AAPS (Digital)
AAPS(perso)
AAPS (Actions)
diff --git a/wear/src/main/res/values-hr-rHR/strings.xml b/wear/src/main/res/values-hr-rHR/strings.xml
index 9d657e0902..756134da41 100644
--- a/wear/src/main/res/values-hr-rHR/strings.xml
+++ b/wear/src/main/res/values-hr-rHR/strings.xml
@@ -7,7 +7,6 @@
AAPS(Veliki Graf)
AAPS(Bez grafa)
AAPS(Kružni)
- AAPS(v2)
Nisko
Visoko
Kalkulator
diff --git a/wear/src/main/res/values-it-rIT/strings.xml b/wear/src/main/res/values-it-rIT/strings.xml
index bd62bf02ab..6f0c290eb7 100644
--- a/wear/src/main/res/values-it-rIT/strings.xml
+++ b/wear/src/main/res/values-it-rIT/strings.xml
@@ -7,7 +7,6 @@
AAPS(BigChart)
AAPS(NoChart)
AAPS(Circle)
- AAPS(v2)
AAPS(DigitalStyle)
AAPS(Personalizzato)
AAPS(azioni)
diff --git a/wear/src/main/res/values-iw-rIL/strings.xml b/wear/src/main/res/values-iw-rIL/strings.xml
index f967777df3..cce9270b65 100644
--- a/wear/src/main/res/values-iw-rIL/strings.xml
+++ b/wear/src/main/res/values-iw-rIL/strings.xml
@@ -7,7 +7,6 @@
AAPS (תרשים גדול)
AAPS (ללא תרשים)
AAPS (עיגול)
- AAPS (v2)
AAPS (דיגיטלי)
AAPS (פעולות)
AAPS (מטרה זמנית)
diff --git a/wear/src/main/res/values-ja-rJP/strings.xml b/wear/src/main/res/values-ja-rJP/strings.xml
deleted file mode 100644
index da5a4a92d6..0000000000
--- a/wear/src/main/res/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- 炭水化物
- ターゲット
- 炭水化物
- ポンプ
- キャンセル
-
diff --git a/wear/src/main/res/values-ko-rKR/strings.xml b/wear/src/main/res/values-ko-rKR/strings.xml
index fd4d545f9e..d29ae5d50f 100644
--- a/wear/src/main/res/values-ko-rKR/strings.xml
+++ b/wear/src/main/res/values-ko-rKR/strings.xml
@@ -7,7 +7,6 @@
AAPS(큰차트)
AAPS(차트없음)
AAPS(원형)
- AAPS(v2)
AAPS(디지털방식)
AAPS(Custom)
AAPS(Actions)
diff --git a/wear/src/main/res/values-lt-rLT/strings.xml b/wear/src/main/res/values-lt-rLT/strings.xml
index 4fe153c042..cc2c637eb5 100644
--- a/wear/src/main/res/values-lt-rLT/strings.xml
+++ b/wear/src/main/res/values-lt-rLT/strings.xml
@@ -7,7 +7,6 @@
AAPS(DidelisGrafikas)
AAPS(BeGrafiko)
AAPS(Apvalus)
- AAPS(v2)
AAPS(DigitalStyle)
AAPS(suasmeninta)
AAPS(Veiksmai)
diff --git a/wear/src/main/res/values-nb-rNO/strings.xml b/wear/src/main/res/values-nb-rNO/strings.xml
index a42336a2f1..6c153b2e00 100644
--- a/wear/src/main/res/values-nb-rNO/strings.xml
+++ b/wear/src/main/res/values-nb-rNO/strings.xml
@@ -7,7 +7,6 @@
AAPS (stor graf)
AAPS (ingen graf)
AAPS (sirkel)
- AAPS(v2)
AAPS(Digitalstil)
AAPS(Tilpasset)
AAPS(Actions)
@@ -42,7 +41,7 @@
Vis BGI
Vis retningspil
Vis siden
- Vis TBR
+ Vis midl. basal
Vis Bolus & SMB
Vis rutenett
Mørkt
diff --git a/wear/src/main/res/values-nl-rNL/strings.xml b/wear/src/main/res/values-nl-rNL/strings.xml
index 704466c59a..9bd4769f6a 100644
--- a/wear/src/main/res/values-nl-rNL/strings.xml
+++ b/wear/src/main/res/values-nl-rNL/strings.xml
@@ -7,7 +7,6 @@
AAPS(GroteGrafiek)
AAPS(GeenGrafiek)
AAPS(Cirkel)
- AAPS(v2)
AAPS(DigitaleStijl)
AAPS(Custom)
AAPS(Acties)
diff --git a/wear/src/main/res/values-pl-rPL/strings.xml b/wear/src/main/res/values-pl-rPL/strings.xml
index 2eb5cd5f3b..ba9833c5a6 100644
--- a/wear/src/main/res/values-pl-rPL/strings.xml
+++ b/wear/src/main/res/values-pl-rPL/strings.xml
@@ -7,7 +7,6 @@
AAPS(DużyWykres)
AAPS(BezWykresu)
AAPS(Koło)
- AAPS(v2)
AAPS(StylCyfrowy)
AAPS(niestandardowy)
AAPS(Ustawienia)
diff --git a/wear/src/main/res/values-pt-rBR/strings.xml b/wear/src/main/res/values-pt-rBR/strings.xml
index a30c53b003..e3e7c48a72 100644
--- a/wear/src/main/res/values-pt-rBR/strings.xml
+++ b/wear/src/main/res/values-pt-rBR/strings.xml
@@ -7,7 +7,6 @@
AAPS(GrafGrande)
AAPS(SemGraf)
AAPS(Círculo)
- AAPS(v2)
AAPS(DigitalStyle)
AAPS(Ações)
AAPS(Meta Temporária)
diff --git a/wear/src/main/res/values-pt-rPT/strings.xml b/wear/src/main/res/values-pt-rPT/strings.xml
index 41bc5307b5..82c68af408 100644
--- a/wear/src/main/res/values-pt-rPT/strings.xml
+++ b/wear/src/main/res/values-pt-rPT/strings.xml
@@ -7,7 +7,6 @@
AAPS(GrafGrande)
AAPS(SemGraf)
AAPS(Círculo)
- AAPS(v2)
AAPS(DigitalStyle)
AAPS(personalizado)
AAPS(Ações)
diff --git a/wear/src/main/res/values-ro-rRO/strings.xml b/wear/src/main/res/values-ro-rRO/strings.xml
index 0fd9642499..ab68de875f 100644
--- a/wear/src/main/res/values-ro-rRO/strings.xml
+++ b/wear/src/main/res/values-ro-rRO/strings.xml
@@ -7,7 +7,6 @@
AAPS(GraficMare)
AAPS(FărăGrafic)
AAPS(Cerc)
- AAPS(v2)
AAPS (DigitalStyle)
AAPS (Personalizat)
AAPS(Acțiuni)
diff --git a/wear/src/main/res/values-ru-rRU/strings.xml b/wear/src/main/res/values-ru-rRU/strings.xml
index b1adbce79f..4e69bf0231 100644
--- a/wear/src/main/res/values-ru-rRU/strings.xml
+++ b/wear/src/main/res/values-ru-rRU/strings.xml
@@ -7,7 +7,6 @@
AAPS (Крупный график)
AAPS (Без графика)
AAPS (круглый)
- AAPS(v2)
AAPS (ЦифровойСтиль)
AAPS (настраиваемый)
AAPS (Действия)
diff --git a/wear/src/main/res/values-sk-rSK/strings.xml b/wear/src/main/res/values-sk-rSK/strings.xml
index 86bdf56cb4..b1ce45a13d 100644
--- a/wear/src/main/res/values-sk-rSK/strings.xml
+++ b/wear/src/main/res/values-sk-rSK/strings.xml
@@ -7,7 +7,6 @@
AAPS(VeľkýGraf)
AAPS(ŽiadnyGraf)
AAPS(Kruhový)
- AAPS(v2)
AAPS (DigitalStyle)
AAPS (vlastný)
AAPS (Akcie)
diff --git a/wear/src/main/res/values-sv-rSE/strings.xml b/wear/src/main/res/values-sv-rSE/strings.xml
index 022ee17421..5de615b58c 100644
--- a/wear/src/main/res/values-sv-rSE/strings.xml
+++ b/wear/src/main/res/values-sv-rSE/strings.xml
@@ -7,7 +7,6 @@
AAPS (BigChart)
AAPS (NoChart)
AAPS (Circle)
- AAPS(v2)
AAPS (DigitalStyle)
AAPS (anpassad)
AAPS(Åtgärder)
diff --git a/wear/src/main/res/values-tr-rTR/strings.xml b/wear/src/main/res/values-tr-rTR/strings.xml
index 5e2e96c084..37a7593d7e 100644
--- a/wear/src/main/res/values-tr-rTR/strings.xml
+++ b/wear/src/main/res/values-tr-rTR/strings.xml
@@ -7,7 +7,6 @@
AAPS(BüyükGrafik)
AAPS(GrafikYok)
AAPS(Daire)
- AAPS (v2)
AAPS(DijitalStil)
AAPS(Özel)
AAPS(Eylemler)
diff --git a/wear/src/main/res/values-zh-rCN/strings.xml b/wear/src/main/res/values-zh-rCN/strings.xml
index 1d8d4093ae..5f1c9c315f 100644
--- a/wear/src/main/res/values-zh-rCN/strings.xml
+++ b/wear/src/main/res/values-zh-rCN/strings.xml
@@ -7,7 +7,6 @@
AAPS(大图)
AAPS(无图)
AAPS(圆形)
- AAPS(v2)
AAPS(数字风格)
AAPS(操作)
AAPS(临时目标)
diff --git a/wear/src/main/res/values/strings.xml b/wear/src/main/res/values/strings.xml
index 6599af1430..b346d4010c 100644
--- a/wear/src/main/res/values/strings.xml
+++ b/wear/src/main/res/values/strings.xml
@@ -2,12 +2,10 @@
AAPS
AAPS
- AAPS
AAPS(Large)
AAPS(BigChart)
AAPS(NoChart)
AAPS(Circle)
- AAPS(v2)
AAPS(DigitalStyle)
AAPS(Custom)
AAPS(Actions)
diff --git a/wear/src/main/res/xml/watch_face_configuration_custom.xml b/wear/src/main/res/xml/watch_face_configuration_custom.xml
index 57de0089a4..e6e2f3408d 100644
--- a/wear/src/main/res/xml/watch_face_configuration_custom.xml
+++ b/wear/src/main/res/xml/watch_face_configuration_custom.xml
@@ -16,6 +16,28 @@
app:wear_iconOff="@drawable/settings_off"
app:wear_iconOn="@drawable/settings_on" />
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wear/src/main/res/xml/watch_face_configuration_home2.xml b/wear/src/main/res/xml/watch_face_configuration_home2.xml
deleted file mode 100644
index 3d86ad7cc6..0000000000
--- a/wear/src/main/res/xml/watch_face_configuration_home2.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-