From f3707ddef096b186c666bb39600d8ccbcbe70ba7 Mon Sep 17 00:00:00 2001 From: Navid Date: Sun, 17 Sep 2023 10:10:32 -0400 Subject: [PATCH 01/20] Remove setting: Unbond G5 before each read --- .../dexdrip/utilitymodels/IdempotentMigrations.java | 1 + .../java/com/eveningoutpost/dexdrip/utils/Preferences.java | 1 + app/src/main/res/xml/pref_data_source.xml | 5 ----- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/IdempotentMigrations.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/IdempotentMigrations.java index 713d86f0e5..06a65e6960 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/IdempotentMigrations.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/IdempotentMigrations.java @@ -146,6 +146,7 @@ public static void migrateOOP2CalibrationPreferences() { private static void legacySettingsFix() { Pref.setBoolean("use_ob1_g5_collector_service", true); Pref.setBoolean("ob1_g5_fallback_to_xdrip", false); + Pref.setBoolean("always_unbond_G5", false); } } diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utils/Preferences.java b/app/src/main/java/com/eveningoutpost/dexdrip/utils/Preferences.java index 678d02933f..2f8ac81970 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utils/Preferences.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utils/Preferences.java @@ -2457,6 +2457,7 @@ public void run() { private void removeLegacyPreferences() { // removePreferenceFromCategory("use_ob1_g5_collector_service", "ob1_options"); // removePreferenceFromCategory("ob1_g5_fallback_to_xdrip", "ob1_options"); + // removePreferenceFromCategory("always_unbond_G5", "ob1_options"); } private void removePreferenceFromCategory(final String preference, final String category) { diff --git a/app/src/main/res/xml/pref_data_source.xml b/app/src/main/res/xml/pref_data_source.xml index ef43b0ff5e..c67216fd6d 100644 --- a/app/src/main/res/xml/pref_data_source.xml +++ b/app/src/main/res/xml/pref_data_source.xml @@ -404,11 +404,6 @@ android:key="always_get_new_keys" android:summary="@string/g5_full_authentification" android:title="@string/authentificate_before_reading" /> - Date: Thu, 21 Sep 2023 12:20:24 -0400 Subject: [PATCH 02/20] No update available toast --- .../dexdrip/utilitymodels/UpdateActivity.java | 6 ++++++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 7 insertions(+) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java index fa11688f47..0c4b45477a 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java @@ -80,6 +80,9 @@ public class UpdateActivity extends BaseAppCompatActivity { private static String CHECKSUM = ""; public static void checkForAnUpdate(final Context context) { + StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace(); + StackTraceElement stack = stacktrace[3]; + String callingMethodName = stack.getMethodName(); // Name of the method that has called this one if (prefs == null) prefs = PreferenceManager.getDefaultSharedPreferences(context); if ((last_check_time != -1) && (!prefs.getBoolean(AUTO_UPDATE_PREFS_NAME, true))) return; if (last_check_time == 0) @@ -169,6 +172,9 @@ public static void checkForAnUpdate(final Context context) { } } else { Log.i(TAG, "Our current version is the most recent: " + versionnumber + " vs " + newversion); + if ((callingMethodName).equals("checkForUpdate")) { + JoH.static_toast_long(xdrip.gs(R.string.current_version_is_up_to_date)); // Only for manual update check + } } } catch (Exception e) { Log.e(TAG, "Got exception parsing update version: " + e.toString()); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6d8d21bbac..c1735b6499 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -195,6 +195,7 @@ Libre last %d minutes graph Share config via QR code Check for updated version + No update in the selected channel Send Feedback to developers Home Screen Event Logs From 41996fa3eb61c9f28d5ddfc4e2458fdff175de13 Mon Sep 17 00:00:00 2001 From: Navid Date: Sat, 23 Sep 2023 08:35:42 -0400 Subject: [PATCH 03/20] Using the new fromUI flag --- .../eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java index ba8ca268a9..8b4990ff48 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/UpdateActivity.java @@ -173,8 +173,8 @@ public static void checkForAnUpdate(final Context context, final boolean fromUi) } } else { Log.i(TAG, "Our current version is the most recent: " + versionnumber + " vs " + newversion); - if ((callingMethodName).equals("checkForUpdate")) { - JoH.static_toast_long(xdrip.gs(R.string.current_version_is_up_to_date)); // Only for manual update check + if (fromUi) { // Only for manual update check + JoH.static_toast_long(xdrip.gs(R.string.current_version_is_up_to_date)); } } } catch (Exception e) { From e315309ddb884c27c7fa7cb2af33a98fe9bd1eb2 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Sun, 24 Sep 2023 18:55:37 +0100 Subject: [PATCH 04/20] New translations strings.xml (Hungarian) --- app/src/main/res/values-hu/strings-hu.xml | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/src/main/res/values-hu/strings-hu.xml b/app/src/main/res/values-hu/strings-hu.xml index 43c9d97080..92e738c85d 100644 --- a/app/src/main/res/values-hu/strings-hu.xml +++ b/app/src/main/res/values-hu/strings-hu.xml @@ -1611,6 +1611,14 @@ Az xDrip+ varánsok lehetővé teszik az alkalmazás több példányban történő telepítését. Akár haladó használatra, akár azért, hogy a kísérleti és az éles rendszer egyszerre legyen telepítve.\n\n A variánsoknál előfordulhat, hogy néhány dolog nem működik megfelelően, mert az egyik vagy másik kizárólagos hozzáféréssel rendelkezik, például a bluetooth párosítás. A variánsokkal kapcsolatos visszajelzéseket és hibajelzéseket szívesen fogadjuk! Lejárat: ??? LEJÁRT! + + Lejárat: %sd + Lejárat: %sd + + + Kor: %sd + Kor: %sd + Külső alkalmazásokból származó adatok (pl. AAPS-ből TBR) Adatfogadás külső alkalmazásokból Régi @@ -1621,6 +1629,7 @@ Nulla érték Adagolás beállítása Adag + Válasszon típust Érvénytelen szériaszám Adjon Ne zavarjanak-engedélyt az xDrip-nek a rendszerbeállításokban a következő oldalon, hogy akkor is tudjon figyelmeztetni az xDrip, ha az Androidban a Ne zavarjanak funkció aktív Pumpák bázisinzulin-profiljának szerkesztése @@ -1664,6 +1673,9 @@ Biztonsági mentés Biztonsági mentés kész Biztonsági mentés meghiúsult + Alternatív File használata + Biztonsági mentés fájl választása + Alternatví file kiválasztása Fiókváltás Fiók megtartása Google-fiók váltása @@ -1674,7 +1686,13 @@ Fájl ellenőrzése Fájl beolvasása sikertelen Alkalmazásengedély probléma - újrapróbálkozás + Alternatív file kiválasztva + Ideiglenes Google Drive file + Nincs fájl kiválasztva Bejelentkezés sikertelen + Probléma a file kiválasztással + A kiválasztott fájl helye + Kérem válassza ki újra a biztonsági mentést Kész Feltöltés a felhőbe Sikertelen helyi biztonsági mentés @@ -1686,6 +1704,13 @@ Alkalmazásengedély adása Az automatikus biztonsági mentéshez az xDrip-nek engedélyre van szüksége a Google Drive használatához.\n\nAz xDrip fejlesztői nem férhetnek hozzá a fájljaihoz, és nem láthatják a személyes adatait. Biztonsági mentés felhőbe + %.1f MB + Kiválasztott egy fájlt a Google Drive-ról, de ezt nem kezeli automatikusan az xDrip, így csak manuális biztonsági mentéshez és visszaállításhoz használható.\n\nNem történik automatikus biztonsági mentés ezzel a fájllal.\n\nFolytatja? + Egy alternatív fájlt választott. Ez általában csak egy helyileg tárolt biztonsági másolatból történő visszaállításra való.\n\nNem történik automatikus biztonsági mentés ezzel a fájllal.\n\nFolytatja? + A biztonsági másolat fájl biztonsági hibát jelez. Általában ez azt jelenti, hogy újra ki kell választania, hogy továbbra is engedélyezze az xDrip hozzáférést. + Érvénytelen idő + semmi + %s ezelőtt Szkennelés háttérben is Android 8-astól lehetséges a szkennelés háttérben is Y-tengely beállításai From 6f6a6f751d812243fa164db002b412f9b434bd3f Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Sun, 24 Sep 2023 18:55:46 +0100 Subject: [PATCH 05/20] New translations strings.xml (Slovak) --- app/src/main/res/values-sk/strings-sk.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/res/values-sk/strings-sk.xml b/app/src/main/res/values-sk/strings-sk.xml index d96fa4a81a..365a65564f 100644 --- a/app/src/main/res/values-sk/strings-sk.xml +++ b/app/src/main/res/values-sk/strings-sk.xml @@ -864,19 +864,24 @@ Nastavenia blueReader Hodnota v % dni + blueReader nefunguje správne! Bude vypnutý a vy ho zapnite (krátkym stlačením tlačítka). Potom by blueReader mal pracovať správne! Oficiálna aplikácia Áno Vlastnosti xDrip+ %s Garmin Fitbit + Zapnúť lokálny web server pre Garmin watchface? + Zapnúť lokálny web server pre Fitbit watchface? Nastaviť zdroj dát na: %s ? Si si istý? G4 Share prijímač Bluetooth Wixel Parakeet / Wifi Iné + Akú verziu softvéru má Wixel? Spustiť sprievodcu nastavením zdroju dát %s hodín + Zadajte ID vysielača tak, ako je vytlačené S ktorým zdrojom dát sa chceš prepojiť? Povoliť lokálne vysielanie? AndroidAPS @@ -885,12 +890,19 @@ Použiť aplikáciu LibreAlarm ako zdroj údajov? Blokovanie šumu Úroveň pri ktorej zašumené údaje nebudú vysielané, pretože môžu zmiasť prijímajúce aplikácie + Nízka úroveň batérie Parkeet-u Jednotka merania glukózy (mmol/L alebo mg/dL) Vyber hodnotu, ktorá sa podobá typickej hodnote tvojej glykémie: 5.5 (mmol/L) alebo 100 (mg/dL) Nastavenia zmenené na mmol/L + Hlavná služba + Kód akceptovaný + Nesprávny alebo nepodporovaný kód! Kód senzoru G6 Prosím vložte vytlačený číselný kalibračný kód, 4 číslice, napr: 5678 Povoliť kontrolu aktualizácií? + S xDrip sa jednoducho viete vrátiť k predchádzajúcej verzii spustením pôvodného APK súboru vo vašich stiahnutých súboroch, ak sa vám nepáči terajšia verzia.\n\nChcete zapnúť automatickú kontrolu aktualizácií? + Automatická kontrola aktualizácií je vypnutá!\n\nV xDrip+ pridávame nové funkcie a opravujeme chyby pravidelne.\n\nKaždých 60 dní vás zažiadame o zapnutie automatických aktualizácií. + Kontola aktualizácií je zapnutá! Zrušiť výstrahu? Naozaj zrušiť výstrahu? Áno, zrušiť @@ -908,6 +920,7 @@ %1$s blízko %2$s %3$s %4$s %5$s Vyber kedy poslať správu: Výstraha nízkej glykémie nie je potvrdená + Výstraha prvej spodnej glykémie nie je potvrdená Výstraha vysokej glykémie nie je potvrdená Neaktivita zariadenia Test odoslania správy @@ -927,6 +940,7 @@ Zdieľané heslo pre otvorenú web službu (má byť zhodné s Nightscout API heslom) Zobraziť stav z iných aplikácií ako AndroidAPS Externý stav + Stav pumpy Sacharidovo-inzulínový pomer Požiadavka na druhú voliteľnú kalibráciu z kapilárnej krvi Dvojité kalibrácie From dad7f2f618a13ed53b399753d95389024c9bf9a7 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:44 +0100 Subject: [PATCH 06/20] New translations strings.xml (Czech) --- app/src/main/res/values-cs/strings-cs.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-cs/strings-cs.xml b/app/src/main/res/values-cs/strings-cs.xml index dd41976f44..64cc21c00c 100644 --- a/app/src/main/res/values-cs/strings-cs.xml +++ b/app/src/main/res/values-cs/strings-cs.xml @@ -177,6 +177,7 @@ Graf za posledních %d minut z Libre Sdílet konfiguraci QR kódem Kontrola nové verze + Zvolený kanál nemá žádnou aktualizaci Odeslat zpětnou vazbou vývojářům Domácí obrazovka Log událostí From 02e6d43db9c1c03387a81779e8569044184cd8a8 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:45 +0100 Subject: [PATCH 07/20] New translations strings.xml (French) --- app/src/main/res/values-fr/strings-fr.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-fr/strings-fr.xml b/app/src/main/res/values-fr/strings-fr.xml index f1c04f1eca..74f43f2a56 100644 --- a/app/src/main/res/values-fr/strings-fr.xml +++ b/app/src/main/res/values-fr/strings-fr.xml @@ -177,6 +177,7 @@ Graphe des dernières %d minutes du Libre Partager la config via le code QR Vérifier les mises à jour + Aucune mise à jour dans le canal sélectionné Envoyer des messages au développeur Écran d\'accueil Journal des événements From 63b2cce803febe0060d4efb660f240cd9569aead Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:47 +0100 Subject: [PATCH 08/20] New translations strings.xml (Spanish) --- app/src/main/res/values-es/strings-es.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-es/strings-es.xml b/app/src/main/res/values-es/strings-es.xml index 4bc05d43fc..cbaaf60046 100644 --- a/app/src/main/res/values-es/strings-es.xml +++ b/app/src/main/res/values-es/strings-es.xml @@ -177,6 +177,7 @@ Gráfica últimos %d minutos del Libre Compartir ajustes a través de código QR Comprobar actualizaciones + No hay actualizaciones en el canal seleccionado Enviar comentarios al desarrollador Pantalla de inicio Registro de Eventos From 5a797bfea3e29e3873341c352b174e426447f4e5 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:48 +0100 Subject: [PATCH 09/20] New translations strings.xml (Arabic) --- app/src/main/res/values-ar/strings-ar.xml | 65 +++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/app/src/main/res/values-ar/strings-ar.xml b/app/src/main/res/values-ar/strings-ar.xml index 0aa6a1f95e..e08b645113 100644 --- a/app/src/main/res/values-ar/strings-ar.xml +++ b/app/src/main/res/values-ar/strings-ar.xml @@ -70,6 +70,7 @@ البث محليا مشاركة الاختبار + إظهار اتجاه قراءة السكر على وجه الساعة. عرض خط الارتفاع عرض خط الانخفاض @@ -91,6 +92,7 @@ Tasker Configuration اضافة تطبيق مصغر قائمة التنبيه + نطق العلاج تحديث xDrip+ متوفر مشاركة الإعدادات بواسطة رمز QR إرسال ملاحظات إلى Jamorham @@ -170,31 +172,56 @@ استخراج البيانات لمحاولة التنبؤ بانخفاض تنبيهات xDrip+ الأخرى إعدادات عرض xDrip+ + تخصيصات العرض إنسولين، نسب كارب إلخ للنماذج + غرام من الكاربوهيدرات يغطي وحدة واحدة معدل امتصاص الكارب إضافة معايرة حالة النظام الإعدادات لا يمكن المعايرة الآن + مصدر البيانات + ادخل الرقم التسلسلي الخاص بمستقبل ديكسكوم (10 أحرف) + إعدادات مصدر البيانات خصائص الساعة الذكية + اظهار المعالجة + اظهار المعالجة في الرسم البياني السجل الإحصائيات تنبيه الغفوة + إعدادات أقل شيوعاً عرض الأخطاء/التنبيهات الأخيرة إعدادات أخرى + تحدث القراءات إدارة المتابعين إدارة متابعيك الحاليين ودعوة أشخاص جدد. + دعوة متابع مستوى السكر ، المعايرة، والتنبيهات الأخرى + التنبيه الذكي + لا تفعل التنبيه أثناء المكالمات الهاتفية. + بدء غفوة + إعادة تعيين + خيارات لساعات مختلفة + تخصيص الألوان + إعدادات عرض xDrip+ قيم السكر المرتفعة قيم السكر في النطاق المطلوب + اللون الافتراضي المحدد + ألوان قراءات سكر الدم وأسهم الاتجاه + إعدادات xDrip+ إضافية + العلاج / منحنيات التنبؤات كربوهيدرات لكل وحدة كل يوم معامل حساسية الإنسولين: خفض السكر لكل وحدة + بطارية جهاز الإرسال منخفض جدا منخفض " وحدات" وحدات كربوهيدرات + قراءة معالجتك مثال: س وحدات الإنسولين / ص غرام نشويات + تسجيل الحديث غير مدعوم + ملاحظة معالجة "تصدير إلى " تم إدخال المعايرة الآن سيتجاهل المعايرة التي أدخلتها سابقا. @@ -202,6 +229,10 @@ هذا لا يستخدم لأي شيء, فقط لتتبع الاختلافات لأغراض تحسين الخوارزميات لا توجد تنبيهات نشطة "تم تعطيل جميع التنبيهات حتى " + "تم تعطيل تنبيهات الإنخفاض حتى " + "تم تعطيل تنبيهات الإرتفاع حتى " + الغفوة الافتراضية + حتى تقوم بإعادة التفعيل ضبط تعطيل التنبيهات الانخفاض اعادة تشغيل تنبيهات الانخفاض @@ -209,22 +240,56 @@ إعادة تشغيل تنبيهات الارتفاع تعطيل جميع التنبيهات إعادة تشغيل جميع التنبيهات + غفوة التنبيه بواسطة الساعة يتوفر إصدار جديد تفاصيل الإصدار تنزيل الآن التحقق تلقائياً من وجود تحديثات + هنا، يمكنك حفظ الإعدادات إلى وحدة التخزين الداخلية (Download/xDrip-export/com.eveningoutpost.dexdrip_preferences.xml).\n\nبمجرد الحفظ في ملف، قد يكون من الممكن لأي تطبيق قراءة الإعدادات التي قد تحتوي على معلومات حساسة.\n\nينصح بحذف الإعدادات بمجرد استيرادها مرة أخرى إذا كنت قلقا حيال ذلك. حفظ كافة الإعدادات في بطاقة الذاكرة تحميل جميع الإعدادات من بطاقة الذاكرة + حذف مجلد الإعدادات (Download/xDrip-export) + تكوين تلقائي]]> نسخ جميع الإعدادات + المستشعر جاهز، الرجاء إدخال المعايرة الأولية + من أجل البدء، يرجى إجراء اختبار أو اثنين للأصابع وإدخال القيم هنا! + ادخل قراءة الدم الأولى + ادخل قراءة الدم الثانية + تحرير اللغات + إعادة تعيين جميع بيانات اللغة + الإنسولين النشط + نشاط الإنسولين + خلفية العلاج + تمهيد العلاج استبدل القيم في المثال التي في {} مع القيم الصحيحة الخاصة بك + معالجة بيانات العلاج الواردة من تطبيق NSClient + قبول العلاج + اظهر إجمالي النشويات + اظهر إجمالي وحدات الإنسولين مستوى التنبؤ للقيم المنخفضة إيقاف الحساس المعايرة الأولية بحث البلوتوث + قم بتحميل بيانات المعالجة من NS + تنزيل بيانات العلاج + رفع بيانات العلاج + مزامنة العلاج + اظهر الجرعة + قم بتحميل بيانات المعالجة من NS كمتابع + تنزيل بيانات العلاج + سيتم قبول العلاج والمعايرة والإجراءات الأخرى من المتابعين + قم بإعداد القلم مع وحدات الأنسولين العلاجية. يجب عليك دائماً التحقق من ذلك. + ارسل المعالجة إلى القلم معايرة الحساس؟ معايرة + هل أنت متأكد أنك تريد حذف هذه المعالجة؟ نعم, من فضلك + تم إلغاء المعالجة + وقت العلاج خاطئ + خطأ في العلاج + سيرت المعالجة لا تسألني ذلك مرة أخرى + نوع المعالجة\nمثال: وحدات x.x تفعيل From 12618afe712ee964069f7ee0cadaf661ea7f98e5 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:49 +0100 Subject: [PATCH 10/20] New translations strings.xml (German) --- app/src/main/res/values-de/strings-de.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-de/strings-de.xml b/app/src/main/res/values-de/strings-de.xml index 83b6f24cea..561545afc5 100644 --- a/app/src/main/res/values-de/strings-de.xml +++ b/app/src/main/res/values-de/strings-de.xml @@ -177,6 +177,7 @@ Libre-Kurve der letzten %d Minuten Einstellungen per QR-Code senden Auf Aktualisierung prüfen + Keine neue Version im gewählten Update-Kanal Feedback an Entwickler senden Startbildschirm Ereignisprotokolle From 98b16c97e9b5b0436090a9db26abee199d3d23fa Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:51 +0100 Subject: [PATCH 11/20] New translations strings.xml (Dutch) --- app/src/main/res/values-nl/strings-nl.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-nl/strings-nl.xml b/app/src/main/res/values-nl/strings-nl.xml index ca02d7c10c..0199a148d6 100644 --- a/app/src/main/res/values-nl/strings-nl.xml +++ b/app/src/main/res/values-nl/strings-nl.xml @@ -177,6 +177,7 @@ Libre laatste %d minuten grafiek Deel configuratie via QR-code Controleer op bijgewerkte versie + Geen update in het geselecteerde kanaal Stuur feedback naar de ontwikkelaar Thuisscherm Gebeurtenislogboeken @@ -304,6 +305,7 @@ Hoge glucosewaarden In-range glucosewaarden Standaard kleur geselecteerd + Kleuren van de BG-lezing en Trendpijl xDrip+ extra instellingen Voorbeeld Grafiek Behandelingen / Voorspelling Curves @@ -910,8 +912,10 @@ controleer de positie van blueReader op de sensor, aangezien deze niet kon lezen! De blueReader is in een lelijke staat gevonden! Het wordt nu uitgeschakeld en u zet het weer aan (korte druk op de knop). Daarna zou de blueReader moeten werken zoals verwacht! De officiële app + Uw apparaat heeft een agressieve stroombeheerapp. Meestal toegankelijk via systeeminstellingen. Zorg ervoor dat xDrip is uitgesloten van achtergrondbeperkingen. kan ook proberen om toegang te krijgen tot het zenderapparaat en dit kan problemen veroorzaken met beide apps U kunt Glimp instellingen aanpassen: opties -> apparaten -> deselecteer Bluetooth optie + Engineering mode is ingeschakeld. Schakel het uit, tenzij je zeker weet dat je het nodig hebt, omdat het onverwacht gedrag kan veroorzaken. Ja xDrip+ %s functies Garmin @@ -973,6 +977,7 @@ %1$s in de buurt van %2$s %3$s %4$s %5$s Kies wanneer u berichten wilt verzenden: Lage waarschuwing niet herkend + Lage waarschuwing niet herkend Hoge waarschuwing niet herkend Inactiviteit van het apparaat Testbericht verzenden From 6f4fcc01702eccab369fef771db7ae229a29de2d Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:52 +0100 Subject: [PATCH 12/20] New translations strings.xml (Polish) --- app/src/main/res/values-pl/strings-pl.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-pl/strings-pl.xml b/app/src/main/res/values-pl/strings-pl.xml index e39bd1dcfa..69327f98e9 100644 --- a/app/src/main/res/values-pl/strings-pl.xml +++ b/app/src/main/res/values-pl/strings-pl.xml @@ -177,6 +177,7 @@ Wykres ostatnich %d minut z Libre Udostepnij konfiguracje poprzez kod QR Sprawdź czy jest nowa wersja + Brak aktualizacji dla wybranego kanału Prześlij uwagi do programisty Ekran główny Dzienniki zdarzeń From cbacb303d2ca659e9dfd6599060cbc347b285279 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:54 +0100 Subject: [PATCH 13/20] New translations strings.xml (Russian) --- app/src/main/res/values-ru/strings-ru.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-ru/strings-ru.xml b/app/src/main/res/values-ru/strings-ru.xml index c8e0ae1ebc..3a134ada59 100644 --- a/app/src/main/res/values-ru/strings-ru.xml +++ b/app/src/main/res/values-ru/strings-ru.xml @@ -177,6 +177,7 @@ График Libre за последние(-юю) %d мин. Поделиться настройками через QR-код Проверить обновления + Нет обновлений в выбранном канале Отправить отзыв разработчику Домашний экран Журнал событий From c5176eee5d79fac5252592500fd5bc5a02767c04 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Mon, 25 Sep 2023 19:25:55 +0100 Subject: [PATCH 14/20] New translations strings.xml (Estonian) --- app/src/main/res/values-et/strings-et.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-et/strings-et.xml b/app/src/main/res/values-et/strings-et.xml index a322716c1c..03500d67b2 100644 --- a/app/src/main/res/values-et/strings-et.xml +++ b/app/src/main/res/values-et/strings-et.xml @@ -177,6 +177,7 @@ Libre viimase %d minuti graafik Jaga seadeid QR koodiga Otsi uuendatud versiooni + Valitud kanalis ei ole värskendust Saada arendajale tagasiside Avakuva Sündmuste logid From 3c294f99e28ad34efe85f8f561419474fcc60516 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Tue, 26 Sep 2023 19:44:58 +0100 Subject: [PATCH 15/20] New translations strings.xml (French) --- app/src/main/res/values-fr/strings-fr.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-fr/strings-fr.xml b/app/src/main/res/values-fr/strings-fr.xml index 74f43f2a56..aa9950306f 100644 --- a/app/src/main/res/values-fr/strings-fr.xml +++ b/app/src/main/res/values-fr/strings-fr.xml @@ -177,7 +177,7 @@ Graphe des dernières %d minutes du Libre Partager la config via le code QR Vérifier les mises à jour - Aucune mise à jour dans le canal sélectionné + Pas de mise à jour disponible dans le canal sélectionné Envoyer des messages au développeur Écran d\'accueil Journal des événements From 4b4aa067eecf6b1eddfd63587e03d56236894e27 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Tue, 26 Sep 2023 19:45:00 +0100 Subject: [PATCH 16/20] New translations strings.xml (Italian) --- app/src/main/res/values-it/strings-it.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-it/strings-it.xml b/app/src/main/res/values-it/strings-it.xml index 038a0e609e..ba420b8c2e 100644 --- a/app/src/main/res/values-it/strings-it.xml +++ b/app/src/main/res/values-it/strings-it.xml @@ -177,6 +177,7 @@ Grafico Libre ultimi %d minuti Configura via codice QR Verifica versione aggiornata + Nessun aggiornamento nel canale selezionato Invia Feedback agli  sviluppatori Schermata Home Registro eventi From 01d82d388411f284bf046a270dad1025220c584d Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Tue, 26 Sep 2023 19:45:01 +0100 Subject: [PATCH 17/20] New translations strings.xml (Japanese) --- app/src/main/res/values-ja/strings-ja.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-ja/strings-ja.xml b/app/src/main/res/values-ja/strings-ja.xml index 338c6c08ac..2685707cfd 100644 --- a/app/src/main/res/values-ja/strings-ja.xml +++ b/app/src/main/res/values-ja/strings-ja.xml @@ -177,6 +177,7 @@ リブレの最後の %d 分グラフ QRコードで設定を共有する 最新バージョンを確認する + 選択したチャンネルのアップデートがありません 開発者にフィードバックを送信 ホーム画面 イベントログ From 77d000673af9901b4a67782c76455dad28e9a516 Mon Sep 17 00:00:00 2001 From: JamOrHam Date: Tue, 26 Sep 2023 19:45:03 +0100 Subject: [PATCH 18/20] New translations strings.xml (Ukrainian) --- app/src/main/res/values-uk/strings-uk.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-uk/strings-uk.xml b/app/src/main/res/values-uk/strings-uk.xml index ca020b04ab..a3f5bf9b25 100644 --- a/app/src/main/res/values-uk/strings-uk.xml +++ b/app/src/main/res/values-uk/strings-uk.xml @@ -177,6 +177,7 @@ Графік Libre за останні %d хв. Поділитися налаштуваннями через QR-код Перевірити оновлення + У вибраному каналі оновлень немає Надіслати відгук розробнику Домашній екран Журнал подій From d83296df765ca774a6b35f2e4242121c9d1c844e Mon Sep 17 00:00:00 2001 From: Navid Date: Wed, 4 Oct 2023 14:14:32 -0400 Subject: [PATCH 19/20] Offer to hard reset Mod TX --- .../com/eveningoutpost/dexdrip/g5model/DexTimeKeeper.java | 2 +- .../eveningoutpost/dexdrip/g5model/FirmwareCapability.java | 7 +++++++ .../eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/DexTimeKeeper.java b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/DexTimeKeeper.java index 17dad25b35..9962db5d79 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/DexTimeKeeper.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/DexTimeKeeper.java @@ -36,7 +36,7 @@ public static void updateAge(final String transmitterId, final int dexTimeStamp, if (dexTimeStamp < 1) { UserError.Log.e(TAG, "Invalid dex timestamp in updateAge: " + dexTimeStamp); if (dexTimeStamp == 0 && absolute) { - if (FirmwareCapability.isTransmitterRawIncapable(getTransmitterID())) { // Firefly, which cannot be hard reset + if (FirmwareCapability.isTransmitterStandardFirefly(getTransmitterID())) { // Firefly, which cannot be hard reset UserError.Log.e(TAG, "Your transmitter clock has stopped or never started."); } else { DexResetHelper.offer("Your transmitter clock has stopped or never started. Do you want to hard reset it?"); diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/FirmwareCapability.java b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/FirmwareCapability.java index d9000f9f84..7c69f874e0 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/FirmwareCapability.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/FirmwareCapability.java @@ -91,6 +91,13 @@ public static boolean isTransmitterModified(final String tx_id) { return false; } + public static boolean isTransmitterStandardFirefly(final String tx_id) { // Firefly that has not been modified + if (!isTransmitterModified(tx_id) && isTransmitterRawIncapable(tx_id)) { + return true; + } + return false; + } + public static boolean isTransmitterG5(final String tx_id) { return isG5Firmware(getRawFirmwareVersionString(tx_id)); } diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java index a5d0e87be7..7d76e2ee35 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java @@ -770,7 +770,7 @@ public static boolean doGetData(Ob1G5CollectionService parent, RxBleConnection c if (session_start.isFubar()) { final long tk = DexTimeKeeper.getDexTime(getTransmitterID(), tsl()); if (tk > 0) { - if (FirmwareCapability.isTransmitterRawIncapable(getTransmitterID())) {// Firefly, which cannot be hard reset + if (FirmwareCapability.isTransmitterStandardFirefly(getTransmitterID())) {// Firefly, which cannot be hard reset UserError.Log.e(TAG, "Unusual session start failure"); } else { DexResetHelper.offer("Unusual session start failure, is transmitter crashed? Try Hard Reset?"); From af3a008255800be4b4fce08b5609b2edf5cd255c Mon Sep 17 00:00:00 2001 From: Jamorham Date: Fri, 6 Oct 2023 16:44:12 +0000 Subject: [PATCH 20/20] Update PrefView to support default true --- .../dexdrip/utilitymodels/PrefsViewImpl.java | 56 ++++++++--- .../utilitymodels/PrefsViewImplTest.java | 99 +++++++++++++++++++ 2 files changed, 144 insertions(+), 11 deletions(-) create mode 100644 app/src/test/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImplTest.java diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImpl.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImpl.java index 69cef658fb..d77931bfb8 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImpl.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImpl.java @@ -4,9 +4,11 @@ import com.eveningoutpost.dexdrip.adapters.ObservableArrayMapNoNotify; +import lombok.val; + /** * Created by jamorham on 05/10/2017. - * + *

* Implementation of PrefsView */ @@ -15,12 +17,14 @@ public class PrefsViewImpl extends ObservableArrayMapNoNotify i private Runnable runnable; public boolean getbool(String name) { - return Pref.getBooleanDefaultFalse(name); + if (name == null) return false; + return PrefHandle.parse(name).getBoolean(); } public void setbool(String name, boolean value) { - Pref.setBoolean(name, value); - super.put(name, value); + val handle = PrefHandle.parse(name); + Pref.setBoolean(handle.key, value); + super.put(handle.key, value); doRunnable(); } @@ -42,27 +46,57 @@ private void doRunnable() { @NonNull @Override public Boolean get(Object key) { - Boolean value = super.get(key); + val handle = PrefHandle.parse((String) key); + Boolean value = super.get(handle.key); if (value == null) { value = getbool((String) key); - super.putNoNotify((String) key, value); + super.putNoNotify(handle.key, value); } return value; } @Override public Boolean put(String key, Boolean value) { - if (!(super.get(key).equals(value))) { - Pref.setBoolean(key, value); - super.put(key, value); + val handle = PrefHandle.parse(key); + if (!(super.get(handle.key).equals(value))) { + Pref.setBoolean(handle.key, value); + super.put(handle.key, value); doRunnable(); } return value; } public void put(Object key, boolean value) { - if (!(super.get(key).equals(value))) { - super.put((String) key, value); + val handle = PrefHandle.parse((String) key); + if (!(super.get(handle.key).equals(value))) { + super.put(handle.key, value); + } + } + + public static class PrefHandle { + public final String key; + public final boolean defaultValue; + + public PrefHandle(final String key, final boolean defaultValue) { + this.key = key; + this.defaultValue = defaultValue; + } + + boolean getBoolean() { + return Pref.getBoolean(key, defaultValue); + } + + public static PrefHandle parse(final String identifier) { + if (identifier == null) { + return null; + } + + final String[] parts = identifier.split(":", 2); + if (parts.length == 2) { + return new PrefHandle(parts[0], Boolean.parseBoolean(parts[1])); + } else { + return new PrefHandle(identifier, false); + } } } diff --git a/app/src/test/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImplTest.java b/app/src/test/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImplTest.java new file mode 100644 index 0000000000..a6a141758b --- /dev/null +++ b/app/src/test/java/com/eveningoutpost/dexdrip/utilitymodels/PrefsViewImplTest.java @@ -0,0 +1,99 @@ +package com.eveningoutpost.dexdrip.utilitymodels; + +import static com.google.common.truth.Truth.assertWithMessage; + +import com.eveningoutpost.dexdrip.RobolectricTestWithConfig; + +import org.junit.Test; + +public class PrefsViewImplTest extends RobolectricTestWithConfig { + + + private final PrefsViewImpl view = new PrefsViewImpl(); + + @Test + public void getboolTest() { + + assertWithMessage("test default plain false").that(view.getbool("plain-example-no-default")).isFalse(); + assertWithMessage("test default specified false").that(view.getbool("plain-example-default:false")).isFalse(); + assertWithMessage("test default specified true").that(view.getbool("plain-example-default:true")).isTrue(); + assertWithMessage("test default specified invalid 1").that(view.getbool("plain-example-default:")).isFalse(); + assertWithMessage("test default specified invalid 2").that(view.getbool("plain-example-default:blah")).isFalse(); + assertWithMessage("test default specified invalid 3").that(view.getbool("plain-example-default:true:")).isFalse(); + + } + + @Test + public void setboolTest() { + + String pref1 = "test-bool-pref1:true"; + + Pref.removeItem(pref1); + Pref.removeItem(PrefsViewImpl.PrefHandle.parse(pref1).key); + assertWithMessage("test 1 default before").that(view.getbool(pref1)).isTrue(); + view.setbool(pref1, false); + assertWithMessage("test 1 false after").that(view.getbool(pref1)).isFalse(); + view.setbool(pref1, true); + assertWithMessage("test 1 true after").that(view.getbool(pref1)).isTrue(); + + String pref2 = "test-bool-pref2:false"; + + Pref.removeItem(pref2); + Pref.removeItem(PrefsViewImpl.PrefHandle.parse(pref2).key); + assertWithMessage("test 2 default before").that(view.getbool(pref2)).isFalse(); + view.setbool(pref2, false); + assertWithMessage("test 2 false after").that(view.getbool(pref2)).isFalse(); + view.setbool(pref2, true); + assertWithMessage("test 2 true after").that(view.getbool(pref2)).isTrue(); + assertWithMessage("test 2 false low level").that(Pref.getBooleanDefaultFalse(pref2)).isFalse(); + assertWithMessage("test 2 false low level").that(Pref.getBooleanDefaultFalse(PrefsViewImpl.PrefHandle.parse(pref2).key)).isTrue(); + + String pref3 = "test-bool-pref3"; + + Pref.removeItem(pref3); + Pref.removeItem(PrefsViewImpl.PrefHandle.parse(pref3).key); + assertWithMessage("test 3 default before").that(view.getbool(pref3)).isFalse(); + view.setbool(pref3, false); + assertWithMessage("test 3 false after").that(view.getbool(pref3)).isFalse(); + view.setbool(pref3, true); + assertWithMessage("test 3 true after").that(view.getbool(pref3)).isTrue(); + + Pref.removeItem(pref1); + Pref.removeItem(pref2); + Pref.removeItem(pref3); + Pref.removeItem(PrefsViewImpl.PrefHandle.parse(pref1).key); + Pref.removeItem(PrefsViewImpl.PrefHandle.parse(pref2).key); + Pref.removeItem(PrefsViewImpl.PrefHandle.parse(pref3).key); + } + + + @Test + public void getTest() { + assertWithMessage("test default plain false").that(view.get("plain-example-no-default1")).isFalse(); + assertWithMessage("test default specified false").that(view.get("plain-example-default2:false")).isFalse(); + assertWithMessage("test default specified false 2").that(view.get("plain-example-default2:true")).isFalse(); // cached + assertWithMessage("test default specified true").that(view.get("plain-example-default3:true")).isTrue(); + assertWithMessage("test default specified true 2").that(view.get("plain-example-default3:false")).isTrue(); // cached + assertWithMessage("test default specified invalid 1").that(view.get("plain-example-default4:")).isFalse(); + assertWithMessage("test default specified invalid 2").that(view.get("plain-example-default5:blah")).isFalse(); + assertWithMessage("test default specified invalid 3").that(view.get("plain-example-default6:true:")).isFalse(); + } + + @Test + public void putTest() { + + assertWithMessage("test default plain false 1").that(view.get("plain-example-put-test-1")).isFalse(); + view.put("plain-example-put-test-1", false); + assertWithMessage("test default plain false 2").that(view.get("plain-example-put-test-1")).isFalse(); + view.put("plain-example-put-test-1", true); + assertWithMessage("test default plain false 3").that(view.get("plain-example-put-test-1")).isTrue(); + + String pref = "plain-example-put-test-2:true"; + assertWithMessage("test default plain true 1").that(view.get(pref)).isTrue(); + view.put(pref, false); + assertWithMessage("test default plain true 2").that(view.get(pref)).isFalse(); + view.put(pref, true); + assertWithMessage("test default plain true 3").that(view.get(pref)).isTrue(); + } + +} \ No newline at end of file