From 3f1f22e1c39fdfb011a11917933855a6c95a05cf Mon Sep 17 00:00:00 2001 From: Ismael Mirabile Date: Sat, 19 Feb 2022 05:29:09 +0000 Subject: [PATCH 01/28] Translated using Weblate (German) Currently translated at 99.6% (590 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9a53dddc3..3299c28c8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -635,4 +635,5 @@ Groß-/Kleinschreibung beachten Zusammenführen von … Kopie speichern unter … + Navigationskopfzeile \ No newline at end of file From 74107b90bb415ffba8b31902de001f282a79cb36 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 20 Feb 2022 17:16:36 +0100 Subject: [PATCH 02/28] Max binary byte as 10 MB to prevent OOM #256 --- .../keepass/database/element/binary/BinaryData.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/binary/BinaryData.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/binary/BinaryData.kt index 83779ccb4..e1ab900b8 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/binary/BinaryData.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/binary/BinaryData.kt @@ -180,12 +180,16 @@ abstract class BinaryData : Parcelable { companion object { private val TAG = BinaryData::class.java.name + private const val MAX_BINARY_BYTE = 10485760 // 10 MB fun canMemoryBeAllocatedInRAM(context: Context, memoryWanted: Long): Boolean { + if (memoryWanted > MAX_BINARY_BYTE) + return false val memoryInfo = ActivityManager.MemoryInfo() - (context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager).getMemoryInfo(memoryInfo) + (context.getSystemService(Context.ACTIVITY_SERVICE) + as? ActivityManager?)?.getMemoryInfo(memoryInfo) val availableMemory = memoryInfo.availMem - return availableMemory > memoryWanted * 3 + return availableMemory > (memoryWanted * 5) } } From a6b7cfc2d399937550eae47ae0341885b442ab98 Mon Sep 17 00:00:00 2001 From: Retrial Date: Sun, 20 Feb 2022 02:50:53 +0000 Subject: [PATCH 03/28] Translated using Weblate (Greek) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/el/ --- app/src/main/res/values-el/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 625e2d0fc..a63da74b1 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -615,7 +615,7 @@ Αναζητήσιμο Διάκριση πεζών-κεφαλαίων Συγχώνευση από … - Κληρονόμησε + Κληρονομώ Αναζήτηση φίλτρων Κεφαλίδα πλοήγησης Κλείσιμο συρταριού πλοήγησης From 5d2caa37a9352cf62d37f883ab9a07824f68e810 Mon Sep 17 00:00:00 2001 From: Jeffree Romero Date: Mon, 21 Feb 2022 00:17:59 +0000 Subject: [PATCH 04/28] Translated using Weblate (Spanish) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/es/ --- app/src/main/res/values-es/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 30f52ef37..a4819294d 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -498,7 +498,7 @@ Lista de bloqueo de los dominios web Lista de bloqueo que impide el llenado automático de las aplicaciones Lista de bloqueo de las aplicaciones - Pedir que se guarden los datos cuando se valide un formulario + Solicitar datos de guardado al completar el llenado de un formulario Pedir que se guarden los datos Intente guardar la información de la búsqueda cuando haga una selección de entrada manual Guardar la información de la búsqueda @@ -626,5 +626,5 @@ Filtros de búsqueda Fusionar desde … Guardar una copia en … - Heredado + Heredar \ No newline at end of file From 8400a83b70c456670e8e8f2b406fc803445c7afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89frit?= Date: Sun, 20 Feb 2022 17:37:22 +0000 Subject: [PATCH 05/28] Translated using Weblate (French) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/ --- app/src/main/res/values-fr/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 5c01efbec..d4d47391c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -631,7 +631,7 @@ Fusionner depuis … Wi-Fi Recherchable - Hérité + Hériter de Séquence Auto-Type Données personnalisées Sensible à la casse From ab87d4e5645fcf5c8cdd0800cd585affa57faf58 Mon Sep 17 00:00:00 2001 From: Matthaiks Date: Sat, 19 Feb 2022 10:32:20 +0000 Subject: [PATCH 06/28] Translated using Weblate (Polish) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pl/ --- app/src/main/res/values-pl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index fc7c35e5f..7ef0e4416 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -617,7 +617,7 @@ Szuflada nawigacyjna zamknięta Wielkość liter Wyrażenie regularne - Dziedziczone + Dziedzicz Sekwencja automatycznego wpisywania Obecna grupa Dane niestandardowe From 8a554349b5731de144f18294c87b644f3cd9bb88 Mon Sep 17 00:00:00 2001 From: solokot Date: Sat, 19 Feb 2022 10:47:35 +0000 Subject: [PATCH 07/28] Translated using Weblate (Russian) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/ --- app/src/main/res/values-ru/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 8711c725e..9f7b91f2f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -614,8 +614,8 @@ Показывать цвета текста и фона записи Открыть панель навигации Заголовок навигации - Искомое - Наследуемое + Доступно для поиска + Наследовать С учётом регистра Сохранить копию в… Объединить с… From e6f0fbeab5e352b5f48e307f3c817730f82249a2 Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Sat, 19 Feb 2022 11:46:13 +0000 Subject: [PATCH 08/28] Translated using Weblate (Ukrainian) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/uk/ --- app/src/main/res/values-uk/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 72ff83020..a0114305e 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -616,7 +616,7 @@ Відкрити панель навігації Закрити панель навігації Шукане - Успадковане + Успадкувати Поточна група З урахуванням регістру Регулярний вираз From 55868f68da3d22df5cdb1b2c6ab5afab1196f21a Mon Sep 17 00:00:00 2001 From: Eric Date: Sat, 19 Feb 2022 10:30:42 +0000 Subject: [PATCH 09/28] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/ --- app/src/main/res/values-zh-rCN/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 20d6e02fe..91a3bce31 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -619,7 +619,7 @@ 正则表达式 合并自… 保存副本到… - 继承的 + 继承 导航标题 导航抽屉关闭 导航抽屉开启 From 870fbaa05c6219c8daf24db208b662188ae4a0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Sat, 19 Feb 2022 14:16:39 +0000 Subject: [PATCH 10/28] Translated using Weblate (Turkish) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/tr/ --- app/src/main/res/values-tr/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index fb14a88b7..370fd43a6 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -611,7 +611,7 @@ Gezinme çekmecesi açık Gezinme çekmecesi kapalı Aranabilir - Devralınan + Aktar Otomatik yazma sırası Şuradan birleştir… Düzenli ifade From 3eed5e395e09a4c85a824250230265afc4d59c7d Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Fri, 25 Feb 2022 12:44:38 +0100 Subject: [PATCH 11/28] Upgrade to 3.3.1 Fix Japanese keyboard in search #1248 --- CHANGELOG | 4 ++++ app/build.gradle | 4 ++-- app/src/main/res/xml/searchable.xml | 2 +- fastlane/metadata/android/en-US/changelogs/103.txt | 2 ++ fastlane/metadata/android/fr-FR/changelogs/103.txt | 2 ++ 5 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/103.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/103.txt diff --git a/CHANGELOG b/CHANGELOG index 970fc7563..fc9df2b24 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +KeePassDX(3.3.1) + * Fix Japanese keyboard in search #1248 + * Better OOM management #256 + KeePassDX(3.3.0) * Quick search and dynamic filters #163 #462 #521 * Keep search context #1141 diff --git a/app/build.gradle b/app/build.gradle index 540967035..0050b33ca 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "com.kunzisoft.keepass" minSdkVersion 15 targetSdkVersion 31 - versionCode = 102 - versionName = "3.3.0" + versionCode = 103 + versionName = "3.3.1" multiDexEnabled true testApplicationId = "com.kunzisoft.keepass.tests" diff --git a/app/src/main/res/xml/searchable.xml b/app/src/main/res/xml/searchable.xml index afa43e7e1..fdf45a43c 100644 --- a/app/src/main/res/xml/searchable.xml +++ b/app/src/main/res/xml/searchable.xml @@ -20,6 +20,6 @@ \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/103.txt b/fastlane/metadata/android/en-US/changelogs/103.txt new file mode 100644 index 000000000..e5ac71532 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/103.txt @@ -0,0 +1,2 @@ + * Fix Japanese keyboard in search #1248 + * Better OOM management #256 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/103.txt b/fastlane/metadata/android/fr-FR/changelogs/103.txt new file mode 100644 index 000000000..323af69aa --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/103.txt @@ -0,0 +1,2 @@ + * Correction du clavier japonais dans la recherche #1248 + * Meilleur gestion d'OOM #256 \ No newline at end of file From 20d2c10bbade2fd8fd8ccbb34d2406297fb0be3c Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Fri, 25 Feb 2022 12:50:01 +0100 Subject: [PATCH 12/28] Upgrade room to 2.4.2 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 0050b33ca..3e07d601f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,7 +104,7 @@ android { } } -def room_version = "2.4.1" +def room_version = "2.4.2" dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" From 87a1a3ba1ba7f424a3f5df13d83a04b2ac799e44 Mon Sep 17 00:00:00 2001 From: Larry Day Date: Thu, 24 Feb 2022 17:33:32 +0000 Subject: [PATCH 13/28] Translated using Weblate (Czech) Currently translated at 96.7% (573 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/cs/ --- app/src/main/res/values-cs/strings.xml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 349129cd8..1f25e8e41 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -328,7 +328,7 @@ Sem záznam přesunout nelze. Sem záznam zkopírovat nelze. Ukázat počet záznamů - Ukázat počet záznamů ve skupině + Zobrazit počet záznamů ve skupině Pozadí Aktualizovat Zavřít pole @@ -601,4 +601,18 @@ Jméno symbolu Nepovolili jste aplikaci použít přesný alarm. Výsledkem je, že funkce požadující časovač nebudou provedeny v přesný okamžik. Povolení + Tagy + Sloučit databázi + Opětovné načtení databáze smaže všechny lokálně změněné data. + Hash souboru není garantován protože Android umožňuje změnu souboru v běhu. Změňte koncovku souboru na .bin pro opravu integrity. + Ponechat obrazovku zapnutou + Barva databáze + Wi-Fi + Vyhledatelné + Rozlišování velkých a malých písmen + Tato skupina + Sloučit z … + Vlastní data + Vyhledat filtry + Uložit kopii do … \ No newline at end of file From 148bed801b29475048435d2b5d7e7ab6cc4b21e5 Mon Sep 17 00:00:00 2001 From: VfBFan Date: Wed, 23 Feb 2022 15:07:57 +0000 Subject: [PATCH 14/28] Translated using Weblate (German) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3299c28c8..3798c286a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -636,4 +636,6 @@ Zusammenführen von … Kopie speichern unter … Navigationskopfzeile + Navigationsleiste schließen + Navigationsleiste öffnen \ No newline at end of file From 0cd5351c07ecaf8abc708df9abc0bb6f0f225fe8 Mon Sep 17 00:00:00 2001 From: Vitor Henrique Date: Thu, 24 Feb 2022 17:18:06 +0000 Subject: [PATCH 15/28] Translated using Weblate (Portuguese (Brazil)) Currently translated at 98.8% (585 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index b1cbbe1a9..42a72f0d0 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -612,4 +612,12 @@ Você não pode mover um grupo aqui. Wi-Fi O hash do arquivo não é garantido porque o Android pode alterar seus dados em tempo real. Altere a extensão do arquivo para .bin para obter a integridade correta. + Cabeçalho de navegação + Gaveta de navegação aberta + Pesquisável + Herdar + Dados personalizados + Mesclar de… + Salvar uma cópia em… + Gaveta de navegação fechada \ No newline at end of file From 5a99a28195b48a753358b86eda4cf9005b3e36ee Mon Sep 17 00:00:00 2001 From: SC Date: Thu, 24 Feb 2022 12:57:53 +0000 Subject: [PATCH 16/28] Translated using Weblate (Portuguese) Currently translated at 100.0% (592 of 592 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt/ --- app/src/main/res/values-pt/strings.xml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 07cc07b23..2b2b5b6c0 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -495,7 +495,7 @@ Desbloqueio avançado da base de dados Adicionadas sugestões de preenchimento automático. Não é possível guardar dados numa base de dados aberta apenas com permissão de leitura. - Pedir para guardar dados quando é validado um formulário + Pedir para guardar dados quando terminar de preencher um formulário Pedir para guardar dados Tentar guardar as informações de pesquisas ao fazer uma seleção de entrada manual Guardar informações de pesquisas @@ -590,4 +590,17 @@ Cor da base de dados Cor do primeiro plano da página inicial Cor do fundo da página inicial + Cabeçalho de navegação + Pesquisável + Sequência de preenchimento automático + Dados personalizados + Filtros de pesquisa + Grupo atual + Sensível a maiúsculas e minúsculas + Expressão regular + Guardar uma cópia em… + Gaveta de navegação aberta + Gaveta de navegação fechada + Herdar + Unir de… \ No newline at end of file From 6ea95c050afaab9fc6927073da0f2bf852104616 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 26 Feb 2022 12:08:07 +0100 Subject: [PATCH 17/28] Fix filter string #1249 --- app/src/main/res/layout/view_search_filters.xml | 2 +- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/view_search_filters.xml b/app/src/main/res/layout/view_search_filters.xml index e5a91003b..ae9e3191c 100644 --- a/app/src/main/res/layout/view_search_filters.xml +++ b/app/src/main/res/layout/view_search_filters.xml @@ -141,7 +141,7 @@ android:layout_height="wrap_content" android:checked="false" style="@style/KeepassDXStyle.Chip.Filter" - android:text="@string/entry_expires" /> + android:text="@string/expired" /> Confirm password Created Expires + Expired UUID History Attachments From ea9c53066701592371f7f444b8de18eb776ee8fe Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 26 Feb 2022 12:29:07 +0100 Subject: [PATCH 18/28] Fix "other" search filter --- app/src/main/res/layout/view_search_filters.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/layout/view_search_filters.xml b/app/src/main/res/layout/view_search_filters.xml index ae9e3191c..afa67445d 100644 --- a/app/src/main/res/layout/view_search_filters.xml +++ b/app/src/main/res/layout/view_search_filters.xml @@ -154,7 +154,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" - android:enabled="false" style="@style/KeepassDXStyle.Chip.Filter" android:text="@string/other"/> Date: Sat, 26 Feb 2022 12:30:28 +0100 Subject: [PATCH 19/28] Upgrade CHANGELOG --- CHANGELOG | 1 + fastlane/metadata/android/en-US/changelogs/103.txt | 3 ++- fastlane/metadata/android/fr-FR/changelogs/103.txt | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index fc9df2b24..9c76908b3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ KeePassDX(3.3.1) * Fix Japanese keyboard in search #1248 * Better OOM management #256 + * Fix filters #1249 KeePassDX(3.3.0) * Quick search and dynamic filters #163 #462 #521 diff --git a/fastlane/metadata/android/en-US/changelogs/103.txt b/fastlane/metadata/android/en-US/changelogs/103.txt index e5ac71532..abf85fd5b 100644 --- a/fastlane/metadata/android/en-US/changelogs/103.txt +++ b/fastlane/metadata/android/en-US/changelogs/103.txt @@ -1,2 +1,3 @@ * Fix Japanese keyboard in search #1248 - * Better OOM management #256 \ No newline at end of file + * Better OOM management #256 + * Fix filters #1249 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/103.txt b/fastlane/metadata/android/fr-FR/changelogs/103.txt index 323af69aa..191a64723 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/103.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/103.txt @@ -1,2 +1,3 @@ * Correction du clavier japonais dans la recherche #1248 - * Meilleur gestion d'OOM #256 \ No newline at end of file + * Meilleur gestion d'OOM #256 + * Correction des filtres #1249 \ No newline at end of file From f79d32b22bb6a4e655628aaf4d997689499828bf Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 26 Feb 2022 12:45:59 +0100 Subject: [PATCH 20/28] Fix temp advanced unlocking #1245 --- CHANGELOG | 1 + .../kunzisoft/keepass/app/database/CipherDatabaseAction.kt | 5 +++-- fastlane/metadata/android/en-US/changelogs/103.txt | 3 ++- fastlane/metadata/android/fr-FR/changelogs/103.txt | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 9c76908b3..0fe45cf8c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ KeePassDX(3.3.1) * Fix Japanese keyboard in search #1248 * Better OOM management #256 * Fix filters #1249 + * Fix temp advanced unlocking #1245 KeePassDX(3.3.0) * Quick search and dynamic filters #163 #462 #521 diff --git a/app/src/main/java/com/kunzisoft/keepass/app/database/CipherDatabaseAction.kt b/app/src/main/java/com/kunzisoft/keepass/app/database/CipherDatabaseAction.kt index d39f8c6bc..5ca6bac0e 100644 --- a/app/src/main/java/com/kunzisoft/keepass/app/database/CipherDatabaseAction.kt +++ b/app/src/main/java/com/kunzisoft/keepass/app/database/CipherDatabaseAction.kt @@ -130,8 +130,9 @@ class CipherDatabaseAction(context: Context) { cipherDatabaseResultListener: (CipherEncryptDatabase?) -> Unit) { if (useTempDao) { serviceActionTask { + var cipherDatabase: CipherEncryptDatabase? = null mBinder?.getCipherDatabase(databaseUri)?.let { cipherDatabaseEntity -> - val cipherDatabase = CipherEncryptDatabase().apply { + cipherDatabase = CipherEncryptDatabase().apply { this.databaseUri = Uri.parse(cipherDatabaseEntity.databaseUri) this.encryptedValue = Base64.decode( cipherDatabaseEntity.encryptedValue, @@ -142,8 +143,8 @@ class CipherDatabaseAction(context: Context) { Base64.NO_WRAP ) } - cipherDatabaseResultListener.invoke(cipherDatabase) } + cipherDatabaseResultListener.invoke(cipherDatabase) } } else { IOActionTask( diff --git a/fastlane/metadata/android/en-US/changelogs/103.txt b/fastlane/metadata/android/en-US/changelogs/103.txt index abf85fd5b..34e29d4d5 100644 --- a/fastlane/metadata/android/en-US/changelogs/103.txt +++ b/fastlane/metadata/android/en-US/changelogs/103.txt @@ -1,3 +1,4 @@ * Fix Japanese keyboard in search #1248 * Better OOM management #256 - * Fix filters #1249 \ No newline at end of file + * Fix filters #1249 + * Fix temp advanced unlocking #1245 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/103.txt b/fastlane/metadata/android/fr-FR/changelogs/103.txt index 191a64723..0e4721288 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/103.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/103.txt @@ -1,3 +1,4 @@ * Correction du clavier japonais dans la recherche #1248 * Meilleur gestion d'OOM #256 - * Correction des filtres #1249 \ No newline at end of file + * Correction des filtres #1249 + * Correction du déverouillage avancé temporaire #1245 \ No newline at end of file From b0e722acce30d216e3a0b0ce2fe6607804336a91 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 26 Feb 2022 13:13:07 +0100 Subject: [PATCH 21/28] Best autofill recognition #1250 --- CHANGELOG | 1 + .../com/kunzisoft/keepass/autofill/StructureParser.kt | 8 +++++--- fastlane/metadata/android/en-US/changelogs/103.txt | 3 ++- fastlane/metadata/android/fr-FR/changelogs/103.txt | 3 ++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 0fe45cf8c..56efc01f4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ KeePassDX(3.3.1) * Better OOM management #256 * Fix filters #1249 * Fix temp advanced unlocking #1245 + * Best autofill recognition #1250 KeePassDX(3.3.0) * Quick search and dynamic filters #163 #462 #521 diff --git a/app/src/main/java/com/kunzisoft/keepass/autofill/StructureParser.kt b/app/src/main/java/com/kunzisoft/keepass/autofill/StructureParser.kt index 760a09e92..d3378f90d 100644 --- a/app/src/main/java/com/kunzisoft/keepass/autofill/StructureParser.kt +++ b/app/src/main/java/com/kunzisoft/keepass/autofill/StructureParser.kt @@ -377,9 +377,11 @@ class StructureParser(private val structure: AssistStructure) { when { inputIsVariationType(inputType, InputType.TYPE_NUMBER_VARIATION_NORMAL) -> { - usernameIdCandidate = autofillId - usernameValueCandidate = node.autofillValue - Log.d(TAG, "Autofill username candidate android number type: ${showHexInputType(inputType)}") + if (usernameIdCandidate == null) { + usernameIdCandidate = autofillId + usernameValueCandidate = node.autofillValue + Log.d(TAG, "Autofill username candidate android number type: ${showHexInputType(inputType)}") + } } inputIsVariationType(inputType, InputType.TYPE_NUMBER_VARIATION_PASSWORD) -> { diff --git a/fastlane/metadata/android/en-US/changelogs/103.txt b/fastlane/metadata/android/en-US/changelogs/103.txt index 34e29d4d5..f1d5a8db5 100644 --- a/fastlane/metadata/android/en-US/changelogs/103.txt +++ b/fastlane/metadata/android/en-US/changelogs/103.txt @@ -1,4 +1,5 @@ * Fix Japanese keyboard in search #1248 * Better OOM management #256 * Fix filters #1249 - * Fix temp advanced unlocking #1245 \ No newline at end of file + * Fix temp advanced unlocking #1245 + * Best autofill recognition #1250 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/103.txt b/fastlane/metadata/android/fr-FR/changelogs/103.txt index 0e4721288..ba8745a62 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/103.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/103.txt @@ -1,4 +1,5 @@ * Correction du clavier japonais dans la recherche #1248 * Meilleur gestion d'OOM #256 * Correction des filtres #1249 - * Correction du déverouillage avancé temporaire #1245 \ No newline at end of file + * Correction du déverouillage avancé temporaire #1245 + * Meilleure reconnaissance du remplissage automatique #1250 \ No newline at end of file From b561db3a67e4252fa10ccbd5ea14e319baca6225 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 26 Feb 2022 15:19:06 +0100 Subject: [PATCH 22/28] Workaround to fill OTP token in multiple fields with Magikeyboard (long press) #1158 --- CHANGELOG | 1 + .../keepass/magikeyboard/KeyboardView.java | 5 +++ .../magikeyboard/MagikeyboardService.kt | 40 ++++++++++++++----- .../metadata/android/en-US/changelogs/103.txt | 3 +- .../metadata/android/fr-FR/changelogs/103.txt | 3 +- 5 files changed, 39 insertions(+), 13 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 56efc01f4..cb3a2f9c2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,7 @@ KeePassDX(3.3.1) * Fix filters #1249 * Fix temp advanced unlocking #1245 * Best autofill recognition #1250 + * Workaround to fill OTP token in multiple fields with Magikeyboard (long press) #1158 KeePassDX(3.3.0) * Quick search and dynamic filters #163 #462 #521 diff --git a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardView.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardView.java index 79c35f8e3..0dcb22d6e 100644 --- a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardView.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardView.java @@ -18,6 +18,8 @@ package com.kunzisoft.keepass.magikeyboard; import static com.kunzisoft.keepass.magikeyboard.MagikeyboardService.KEY_BACK_KEYBOARD; import static com.kunzisoft.keepass.magikeyboard.MagikeyboardService.KEY_CHANGE_KEYBOARD; +import static com.kunzisoft.keepass.magikeyboard.MagikeyboardService.KEY_OTP; +import static com.kunzisoft.keepass.magikeyboard.MagikeyboardService.KEY_OTP_ALT; import android.content.Context; import android.content.res.TypedArray; @@ -1047,6 +1049,9 @@ public class KeyboardView extends View implements View.OnClickListener { if (popupKey.codes[0] == KEY_BACK_KEYBOARD) { mKeyboardActionListener.onKey(KEY_CHANGE_KEYBOARD, popupKey.codes); return true; + } else if (popupKey.codes[0] == KEY_OTP) { + mKeyboardActionListener.onKey(KEY_OTP_ALT, popupKey.codes); + return true; } else { int popupKeyboardId = popupKey.popupResId; if (popupKeyboardId != 0) { diff --git a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt index 2472ab69f..e64f26ec4 100644 --- a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt @@ -245,35 +245,52 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL dismissCustomKeys() } KEY_USERNAME -> { - if (entryInfoKey != null) { - currentInputConnection.commitText(entryInfoKey!!.username, 1) + entryInfoKey?.username?.let { username -> + currentInputConnection.commitText(username, 1) } actionTabAutomatically() } KEY_PASSWORD -> { - if (entryInfoKey != null) { - currentInputConnection.commitText(entryInfoKey!!.password, 1) + entryInfoKey?.password?.let { password -> + currentInputConnection.commitText(password, 1) } val otpFieldExists = entryInfoKey?.containsCustomField(OTP_TOKEN_FIELD) ?: false actionGoAutomatically(!otpFieldExists) } KEY_OTP -> { - if (entryInfoKey != null) { + entryInfoKey?.let { entryInfo -> currentInputConnection.commitText( - entryInfoKey!!.getGeneratedFieldValue(OTP_TOKEN_FIELD), 1) + entryInfo.getGeneratedFieldValue(OTP_TOKEN_FIELD), 1) + } + actionGoAutomatically() + } + KEY_OTP_ALT -> { + entryInfoKey?.let { entryInfo -> + val otpToken = entryInfo.getGeneratedFieldValue(OTP_TOKEN_FIELD) + if (otpToken.isNotEmpty()) { + // Cut to fill each digit separatelyKeyEvent.KEYCODE_TAB + val otpTokenChars = otpToken.chunked(1) + otpTokenChars.forEachIndexed { index, char -> + currentInputConnection.commitText(char, 1) + if (index < (otpTokenChars.size-1)) + currentInputConnection.sendKeyEvent( + KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_TAB) + ) + } + } } actionGoAutomatically() } KEY_URL -> { - if (entryInfoKey != null) { - currentInputConnection.commitText(entryInfoKey!!.url, 1) + entryInfoKey?.url?.let { url -> + currentInputConnection.commitText(url, 1) } actionGoAutomatically() } KEY_FIELDS -> { - if (entryInfoKey != null) { + entryInfoKey?.customFields?.let { customFields -> fieldsAdapter?.apply { - setFields(entryInfoKey!!.customFields.filter { it.name != OTP_TOKEN_FIELD}) + setFields(customFields.filter { it.name != OTP_TOKEN_FIELD}) notifyDataSetChanged() } } @@ -347,7 +364,8 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL private const val KEY_ENTRY = 620 private const val KEY_USERNAME = 500 private const val KEY_PASSWORD = 510 - private const val KEY_OTP = 515 + const val KEY_OTP = 515 + const val KEY_OTP_ALT = 516 private const val KEY_URL = 520 private const val KEY_FIELDS = 530 diff --git a/fastlane/metadata/android/en-US/changelogs/103.txt b/fastlane/metadata/android/en-US/changelogs/103.txt index f1d5a8db5..34ed26414 100644 --- a/fastlane/metadata/android/en-US/changelogs/103.txt +++ b/fastlane/metadata/android/en-US/changelogs/103.txt @@ -2,4 +2,5 @@ * Better OOM management #256 * Fix filters #1249 * Fix temp advanced unlocking #1245 - * Best autofill recognition #1250 \ No newline at end of file + * Best autofill recognition #1250 + * Workaround to fill OTP token in multiple fields with Magikeyboard (long press) #1158 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/103.txt b/fastlane/metadata/android/fr-FR/changelogs/103.txt index ba8745a62..745626428 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/103.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/103.txt @@ -2,4 +2,5 @@ * Meilleur gestion d'OOM #256 * Correction des filtres #1249 * Correction du déverouillage avancé temporaire #1245 - * Meilleure reconnaissance du remplissage automatique #1250 \ No newline at end of file + * Meilleure reconnaissance du remplissage automatique #1250 + * Solution pour remplir le token OTP dans des champs multiple avec le Magiclavier (appui long) #1158 \ No newline at end of file From 6e959e415f51337185641c06b4143fa1dbe8cc5d Mon Sep 17 00:00:00 2001 From: Kunzisoft Date: Sat, 26 Feb 2022 11:55:50 +0000 Subject: [PATCH 23/28] Translated using Weblate (French) Currently translated at 100.0% (593 of 593 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/ --- app/src/main/res/values-fr/strings.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index d4d47391c..c9716c230 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -282,12 +282,12 @@ Autorise l’appui du bouton \"Ouvrir\" si aucun identifiant n’est sélectionné Protéger en écriture Modifiable - Protégé en écriture + Protéger en écriture Ouvre la base de données en lecture seule par défaut Protégez en écriture votre base de données Changez le mode d’ouverture pour la session. \n -\n\"Protégé en écriture\" empêche les modifications involontaires de la base de données. +\n\"Protéger en écriture\" empêche les modifications involontaires de la base de données. \n\"Modifiable\" vous permet d’ajouter, de supprimer ou de modifier tous les éléments comme vous le souhaitez. Modifier l’entrée Impossible de charger votre base de données. @@ -631,8 +631,9 @@ Fusionner depuis … Wi-Fi Recherchable - Hériter de + Hériter Séquence Auto-Type Données personnalisées Sensible à la casse + Expiré \ No newline at end of file From d1586a8d80f4460cd82ad3d671e986cc4c85ba9a Mon Sep 17 00:00:00 2001 From: Matthaiks Date: Sat, 26 Feb 2022 12:28:22 +0000 Subject: [PATCH 24/28] Translated using Weblate (Polish) Currently translated at 100.0% (593 of 593 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pl/ --- app/src/main/res/values-pl/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 7ef0e4416..18eddcb70 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -626,4 +626,5 @@ Automatyczne wpisywanie Przeszukiwalne Zapisz kopię w… + Wygasłe \ No newline at end of file From a197453ce088c6c25c9373223eb9e35a00448bde Mon Sep 17 00:00:00 2001 From: solokot Date: Sat, 26 Feb 2022 12:04:39 +0000 Subject: [PATCH 25/28] Translated using Weblate (Russian) Currently translated at 100.0% (593 of 593 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/ --- app/src/main/res/values-ru/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9f7b91f2f..23f3d547d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -50,7 +50,7 @@ Заметки Подтверждение пароля Создано - Истекает + Срок действия Файл ключа Изменено Данные записи не найдены. @@ -406,7 +406,7 @@ Завершение… Готово! Скрывать устаревшие записи - Не показывать записи с истёкшим сроком + Не показывать записи с истёкшим сроком действия Контактная информация Помощь проекту Для сохранения нашей независимости, исправления ошибок, добавления новых функций и поддержания разработки в активном состоянии, мы рассчитываем на вашу поддержку. @@ -625,4 +625,5 @@ Последовательность автонабора Текущая группа Пользовательские данные + Срок действия истёк \ No newline at end of file From d11c001e0d89bc78f495591402a0631be8ca03cb Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Sat, 26 Feb 2022 11:49:55 +0000 Subject: [PATCH 26/28] Translated using Weblate (Ukrainian) Currently translated at 100.0% (593 of 593 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/uk/ --- app/src/main/res/values-uk/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index a0114305e..29dbcc901 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -625,4 +625,5 @@ Фільтри пошуку Послідовність автовведення Зберегти копію в … + Термін дії завершився \ No newline at end of file From d0072237e757acfc3af9a1e422ad1e225805197b Mon Sep 17 00:00:00 2001 From: Eric Date: Sat, 26 Feb 2022 11:44:09 +0000 Subject: [PATCH 27/28] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (593 of 593 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/ --- app/src/main/res/values-zh-rCN/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 91a3bce31..9505aed98 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -626,4 +626,5 @@ 搜索过滤器 区分大小写 自动输入 + 已过期 \ No newline at end of file From 671364f395fcaffcb588f3880e69d43ef1aeed52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Sat, 26 Feb 2022 12:01:25 +0000 Subject: [PATCH 28/28] Translated using Weblate (Turkish) Currently translated at 100.0% (593 of 593 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/tr/ --- app/src/main/res/values-tr/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 370fd43a6..05cd24c7b 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -399,8 +399,8 @@ Devam ediyor: %1$d%% Sonuçlandırılıyor… Tamamlandı! - Süresi dolmuş girdileri gizle - Süresi dolmuş girdiler gösterilmez + Süresi dolan girdileri gizle + Süresi dolan girdiler gösterilmez Veri tabanı değişikliklerini kaydetmek için dosya yazma erişimi ver Son veri tabanları listesindeki bozuk bağlantıları gizle Bozuk veri tabanı bağlantılarını gizle @@ -620,4 +620,5 @@ Geçerli grup Özel veri Bir kopyasını şuraya kaydet… + Süresi doldu \ No newline at end of file