From 0c10e7a22b22037f16dd29bc1d532e4eae419f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Tue, 9 Aug 2022 16:28:40 +0000 Subject: [PATCH 01/63] Translated using Weblate (Estonian) Currently translated at 99.6% (2322 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/et/ --- vector/src/main/res/values-et/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-et/strings.xml b/vector/src/main/res/values-et/strings.xml index 124ca1eae7..bb39ecfb5d 100644 --- a/vector/src/main/res/values-et/strings.xml +++ b/vector/src/main/res/values-et/strings.xml @@ -2594,4 +2594,8 @@ %1$s ja %2$s E-posti aadress on kinnitamata, palun vaata oma saabunud e-kirju + Kaardi laadimine ei õnnestu. +\nSee koduserver ei pruugi olla seadistatud kuvama kaarte. + Ava seadistused + Kõik vestlused \ No newline at end of file From 0cda6af1f6112d934f36291da525e23edf59eaa8 Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Tue, 9 Aug 2022 15:35:03 +0000 Subject: [PATCH 02/63] Translated using Weblate (Persian) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/ --- vector/src/main/res/values-fa/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-fa/strings.xml b/vector/src/main/res/values-fa/strings.xml index 591ae21198..42daf1dff8 100644 --- a/vector/src/main/res/values-fa/strings.xml +++ b/vector/src/main/res/values-fa/strings.xml @@ -2603,4 +2603,8 @@ %1$s و %2$s رایانامه تأیید نشده. صندوق ورودیتان را بررسی کنید + ناتوان در بار کردن نقشه +\nشاید این کارساز خانگی برای نمایش نقشه‌ها پیکربندی نشده باشد. + گشودن تنظیمات + تمامی گپ‌ها \ No newline at end of file From 7bc8b42028d1126193d757e5e6a0e13601e0edc6 Mon Sep 17 00:00:00 2001 From: Linerly Date: Tue, 9 Aug 2022 17:41:31 +0000 Subject: [PATCH 03/63] Translated using Weblate (Indonesian) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/id/ --- vector/src/main/res/values-in/strings.xml | 24 ++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/vector/src/main/res/values-in/strings.xml b/vector/src/main/res/values-in/strings.xml index cbe5173920..ff1fa24255 100644 --- a/vector/src/main/res/values-in/strings.xml +++ b/vector/src/main/res/values-in/strings.xml @@ -1420,7 +1420,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Terverifikasi Verifikasi Gunakan sesi yang ada untuk memverifikasi yang satu ini, memberikan aksesnya ke pesan terenkripsi. - Verifikasi login ini + Verifikasi perangkat ini %d sesi aktif @@ -2490,7 +2490,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Pesan di obrolan ini akan dienkripsi secara ujung-ke-ujung. Mulai Ikuti petunjuk yang terkirim ke %s - Untuk mengonfirmasi email Anda, ketuk tombol dalam email yang kami kirim ke %s + Ikuti petunjuk yang terkirim ke %s %d pesan dihapus @@ -2504,7 +2504,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Lupa kata sandi Kirim ulang email Belum menerima email\? - Periksa email Anda untuk memverifikasi. + Verifikasi email Anda Kirim ulang kode Sebuah kode terkirim ke %s Konfirmasi nomor telepon Anda @@ -2541,4 +2541,22 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Pilih secara manual Atur secara otomatis Pilih ukuran font + Terima akses kamera / mikrofon widget Element Call secara otomatis + Aktifkan pintasan izin Element Call + Lokasi langsung + Tidak dapat memuat peta +\nHomeserver ini mungkin tidak diatur untuk menampilkan peta. + Buka pengaturan + Kode QR ini tampaknya tidak benar. Mohon coba verifikasi dengan metode lain. + Anda tidak akan dapat mengakses riwayat pesan terenkripsi. Atur ulang Cadangan Pesan Aman dan kunci-kunci verifikasi Anda untuk memulai secara segar. + Tidak dapat memverifikasi perangkat ini + Apa alamat server Anda\? + Di mana percakapan Anda tinggal + Memperbarui data Anda… + + %1$s dan %2$d lainnya + + %1$s dan %2$s + Email belum diverifikasi, periksa kotak masuk Anda + Semua Obrolan \ No newline at end of file From a01fe4d8e2477eaf806c565d8e65b8c1914f987f Mon Sep 17 00:00:00 2001 From: Nui Harime Date: Wed, 10 Aug 2022 23:24:39 +0000 Subject: [PATCH 04/63] Translated using Weblate (Russian) Currently translated at 99.0% (2309 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/ --- vector/src/main/res/values-ru/strings.xml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/vector/src/main/res/values-ru/strings.xml b/vector/src/main/res/values-ru/strings.xml index 1fd522c7d5..51e8a72ec7 100644 --- a/vector/src/main/res/values-ru/strings.xml +++ b/vector/src/main/res/values-ru/strings.xml @@ -960,7 +960,7 @@ Изменение сообщения Изменения не найдены Отфильтровать беседы… - Не можете найти то, что ищете\? + Не можете найти нужное\? Создать новую комнату Отправить новое личное сообщение Просмотр каталога комнат @@ -1455,7 +1455,7 @@ %d сессии активны %d сессий активно - Подтвердите это устройство + Подтверждение этого устройства Используйте существующую сессию для подтверждения этой, предоставив ей доступ к зашифрованным сообщениям. Инструменты для разработчиков Данные учётной записи @@ -1743,10 +1743,10 @@ Защитите доступ с помощью PIN-кода и биометрии. Защита доступа Вы перезапустите приложение без истории, сообщений, доверенных устройств или доверенных пользователей - Если сбросить все + Если сбросить всё Делайте это только в том случае, если у вас нет другого устройства, с которого вы можете проверить это устройство. - Сбросить все - Забыли или потеряли все варианты восстановления\? Сбросить все + Сбросить всё + Забыли или потеряли все варианты восстановления\? Сбросить всё Вы вошли. %s вошёл(ла). Сообщения в этой переписке защищены сквозным шифрованием. @@ -2663,4 +2663,8 @@ Или Создать учётную запись %1$s и %2$s + Открыть настройки + Не удалось загрузить карту +\nВозможно, этот домашний сервер не настроен для отображения карт. + Все Беседы \ No newline at end of file From 36c8877dbe11240a8b0f39ac299d954042484684 Mon Sep 17 00:00:00 2001 From: Jozef Gaal Date: Wed, 10 Aug 2022 11:49:32 +0000 Subject: [PATCH 05/63] Translated using Weblate (Slovak) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/ --- vector/src/main/res/values-sk/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-sk/strings.xml b/vector/src/main/res/values-sk/strings.xml index cac6187d8a..3ca5d6ee62 100644 --- a/vector/src/main/res/values-sk/strings.xml +++ b/vector/src/main/res/values-sk/strings.xml @@ -2653,4 +2653,8 @@ %1$s a %2$s E-mail nie je overený, skontrolujte si schránku + Nie je možné načítať mapu +\nTento domovský server nemusí byť nakonfigurovaný na zobrazovanie máp. + Otvoriť nastavenia + Všetky konverzácie \ No newline at end of file From 7e8b5479c4df4375dd073806891084a422a76117 Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Wed, 10 Aug 2022 19:27:27 +0000 Subject: [PATCH 06/63] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/ --- vector/src/main/res/values-uk/strings.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/vector/src/main/res/values-uk/strings.xml b/vector/src/main/res/values-uk/strings.xml index 8300199e8a..706e18fc63 100644 --- a/vector/src/main/res/values-uk/strings.xml +++ b/vector/src/main/res/values-uk/strings.xml @@ -2293,15 +2293,15 @@ Це запрошення до простору надіслане %s, не пов\'язаній із вашим обліковим записом Це запрошення до кімнати надіслане %s, не пов\'язаній із вашим обліковим записом Зауважте, що поліпшення створить нову версію кімнати. Всі наявні повідомлення залишаться в цій архівованій кімнаті. - Будь-хто в батьківському просторі зможемо знайти кімнату й долучитись — нема потреба вручну запрошувати всіх. Можна змінити це в налаштуваннях кімнати будь-коли. - Будь-хто в %s зможе знайти кімнату й долучитись — нема потреби вручну запрошувати всіх. Можна змінити це в налаштуваннях кімнати будь-коли. + Будь-хто в батьківському просторі зможе знайти кімнату й приєднатись — непотрібно вручну запрошувати всіх. Це можна змінити в налаштуваннях кімнати будь-коли. + Будь-хто в %s зможе знайти кімнату й приєднатись — непотрібно вручну запрошувати всіх. Це можна змінити в налаштуваннях кімнати будь-коли. Не вдалося відповісти чи редагувати, бо голосове повідомлення активне Кімната — версії %s, яку домашній сервер позначив нестабільною. Поліпшення кімнати — серйозна операція. Її зазвичай радять, коли кімната нестабільна через вади, брак функціоналу чи вразливості безпеки. \nЗазвичай це впливає лише на деталі опрацювання кімнати сервером. Деяких кімнат може бути не видно, бо вони закриті й потребують запрошення. - Деяких кімнат може бути не видно, бо вони закриті й потребують запрошення. -\nУ вас нема дозволу додавати кімнати. + Деякі кімнати можуть бути приховані, оскільки вони приватні й потребують запрошення. +\nУ вас немає дозволу додавати кімнати. Ви єдиний адміністратор цього простору. Якщо вийдете, він залишиться без керівництва. Ви не зможете приєднатись, поки вас не запросять знову. Ви єдина особа тут. Якщо ви вийдете, більше ніхто не зможе приєднатись, навіть ви ж. @@ -2703,4 +2703,8 @@ %1$s і %2$s Електронна пошта не підтверджена, перевірте свою поштову скриньку + Неможливо завантажити карту +\nМожливо, цей домашній сервер не налаштовано для показу карт. + Відкрити налаштування + Усі бесіди \ No newline at end of file From 467d17ddf9693d8e798083cec00eb6ad09608243 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Wed, 10 Aug 2022 02:13:16 +0000 Subject: [PATCH 07/63] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/ --- vector/src/main/res/values-zh-rTW/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-zh-rTW/strings.xml b/vector/src/main/res/values-zh-rTW/strings.xml index effb6e7410..f1f1d633e6 100644 --- a/vector/src/main/res/values-zh-rTW/strings.xml +++ b/vector/src/main/res/values-zh-rTW/strings.xml @@ -2553,4 +2553,8 @@ %1$s 與 %2$s 電子郵件未驗證,請檢查您的收件匣 + 無法載入地圖 +\n此家伺服器可能未設定好顯示地圖。 + 開啟設定 + 所有聊天 \ No newline at end of file From 2deeff389577d724f7d64d6de6c8774df6684d86 Mon Sep 17 00:00:00 2001 From: Jozef Gaal Date: Wed, 10 Aug 2022 11:52:14 +0000 Subject: [PATCH 08/63] Translated using Weblate (Slovak) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/ --- fastlane/metadata/android/sk/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/sk/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/sk/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/sk/changelogs/40104310.txt diff --git a/fastlane/metadata/android/sk/changelogs/40104300.txt b/fastlane/metadata/android/sk/changelogs/40104300.txt new file mode 100644 index 0000000000..dd0f554532 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Umožňuje vylepšené postupy prihlasovania a registrácie. +Úplný zoznam zmien: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sk/changelogs/40104310.txt b/fastlane/metadata/android/sk/changelogs/40104310.txt new file mode 100644 index 0000000000..dd0f554532 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Umožňuje vylepšené postupy prihlasovania a registrácie. +Úplný zoznam zmien: https://github.com/vector-im/element-android/releases From 32375f30eb5ab03bd59b01770be9ca77db925d0d Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Tue, 9 Aug 2022 21:14:58 +0000 Subject: [PATCH 09/63] Translated using Weblate (Ukrainian) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/ --- fastlane/metadata/android/uk/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/uk/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/uk/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/uk/changelogs/40104310.txt diff --git a/fastlane/metadata/android/uk/changelogs/40104300.txt b/fastlane/metadata/android/uk/changelogs/40104300.txt new file mode 100644 index 0000000000..727508a0cc --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Основні зміни в цій версії: Поліпшені вхід і реєстрація. +Перелік усіх змін: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/uk/changelogs/40104310.txt b/fastlane/metadata/android/uk/changelogs/40104310.txt new file mode 100644 index 0000000000..727508a0cc --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Основні зміни в цій версії: Поліпшені вхід і реєстрація. +Перелік усіх змін: https://github.com/vector-im/element-android/releases From d94f09a3b1fd99d7ac3da2207830b930f7d8acf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Tue, 9 Aug 2022 16:27:13 +0000 Subject: [PATCH 10/63] Translated using Weblate (Estonian) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/et/ --- fastlane/metadata/android/et/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/et/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/et/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/et/changelogs/40104310.txt diff --git a/fastlane/metadata/android/et/changelogs/40104300.txt b/fastlane/metadata/android/et/changelogs/40104300.txt new file mode 100644 index 0000000000..e01c9b4329 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: senisest parem liitumise ja sisselogimise töövoog. +Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/et/changelogs/40104310.txt b/fastlane/metadata/android/et/changelogs/40104310.txt new file mode 100644 index 0000000000..e01c9b4329 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: senisest parem liitumise ja sisselogimise töövoog. +Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases From 9d0298273471e858fceec36f518f826c9a77fcc1 Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Tue, 9 Aug 2022 15:33:41 +0000 Subject: [PATCH 11/63] Translated using Weblate (Persian) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/ --- fastlane/metadata/android/fa/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/fa/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/fa/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/fa/changelogs/40104310.txt diff --git a/fastlane/metadata/android/fa/changelogs/40104300.txt b/fastlane/metadata/android/fa/changelogs/40104300.txt new file mode 100644 index 0000000000..7a0e87b263 --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40104300.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: به کار انداختن ورود بهبود یافته و سفرهای ورود. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fa/changelogs/40104310.txt b/fastlane/metadata/android/fa/changelogs/40104310.txt new file mode 100644 index 0000000000..7a0e87b263 --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40104310.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: به کار انداختن ورود بهبود یافته و سفرهای ورود. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases From 9be766a1076b8919d42db17a5489637ddf2f072e Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Wed, 10 Aug 2022 02:12:29 +0000 Subject: [PATCH 12/63] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/ --- fastlane/metadata/android/zh-TW/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/zh-TW/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40104310.txt diff --git a/fastlane/metadata/android/zh-TW/changelogs/40104300.txt b/fastlane/metadata/android/zh-TW/changelogs/40104300.txt new file mode 100644 index 0000000000..3055389b2b --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40104300.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:啟用改善的登入與註冊流程。 +完整的變更紀錄:https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40104310.txt b/fastlane/metadata/android/zh-TW/changelogs/40104310.txt new file mode 100644 index 0000000000..3055389b2b --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40104310.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:啟用改善的登入與註冊流程。 +完整的變更紀錄:https://github.com/vector-im/element-android/releases From 0083c2996802891a69f7bbe487304d9a0374f501 Mon Sep 17 00:00:00 2001 From: Linerly Date: Tue, 9 Aug 2022 17:31:21 +0000 Subject: [PATCH 13/63] Translated using Weblate (Indonesian) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/id/ --- fastlane/metadata/android/id/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/id/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/id/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/id/changelogs/40104310.txt diff --git a/fastlane/metadata/android/id/changelogs/40104300.txt b/fastlane/metadata/android/id/changelogs/40104300.txt new file mode 100644 index 0000000000..3d8d13e23d --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Mengaktifkan perjalanan masuk dan keluar yang diperbaiki. +Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/id/changelogs/40104310.txt b/fastlane/metadata/android/id/changelogs/40104310.txt new file mode 100644 index 0000000000..3d8d13e23d --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Mengaktifkan perjalanan masuk dan keluar yang diperbaiki. +Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases From 959a833c232635a0767d34749894121c39781d93 Mon Sep 17 00:00:00 2001 From: "Auri B. P" Date: Fri, 12 Aug 2022 18:54:26 +0000 Subject: [PATCH 14/63] Translated using Weblate (Catalan) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/ --- vector/src/main/res/values-ca/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-ca/strings.xml b/vector/src/main/res/values-ca/strings.xml index f7366b7dd3..8f811ba8b8 100644 --- a/vector/src/main/res/values-ca/strings.xml +++ b/vector/src/main/res/values-ca/strings.xml @@ -2603,4 +2603,8 @@ %1$s i %2$s Correu no verificat, mira la teva safata d\'entrada + No s\'ha pogut carregar el mapa +\nPotser el servidor utilitzat no està configurat per mostrar mapes. + Obre configuració + Tots els xats \ No newline at end of file From 17ac9f3b57f896b89711434be27c2f1838c63eb1 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Sat, 13 Aug 2022 07:30:23 +0000 Subject: [PATCH 15/63] Translated using Weblate (Hungarian) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/ --- vector/src/main/res/values-hu/strings.xml | 36 +++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/vector/src/main/res/values-hu/strings.xml b/vector/src/main/res/values-hu/strings.xml index 33c0044843..f5343fd948 100644 --- a/vector/src/main/res/values-hu/strings.xml +++ b/vector/src/main/res/values-hu/strings.xml @@ -1233,7 +1233,7 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze %d aktív munkamenet %d aktív munkamenet - Munkamenet ellenőrzése + Az eszköz ellenőrzése A titkosított üzenetekhez való hozzáféréshez nyiss meg egy létező munkamenetet és használd ennek a hitelesítésére. Ellenőriz Hitelesített @@ -1394,7 +1394,7 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze Meghívó elküldve neki: %1$s és még %2$d helyre Felhasználókat nem tudtuk meghívni. Ellenőrizd azokat a felhasználókat akiket meg szeretnél hívni és próbáld újra. - Üzenet törölve + Üzenet eltávolítva Helykitöltő mutatása a törölt szövegek helyett Megerősítő levelet küldtünk ide: %s, először ellenőrizd az e-mailedet és kattints a megerősítő hivatkozásra MÉDIA @@ -2575,4 +2575,36 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze Itt lesznek tárolva a beszélgetéseid Mi a szervered címe\? Itt lesz tárolva az összes üzeneted Az email cím nem lett ellenőrizve, kérlek nézd meg a beérkező email-jeidet + Element Call kisalkalmazás kamera és mikrofon használatának automatikus engedélyezése + Element Call jogosultságok engedélyezése + + %d üzenet eltávolítva + %d üzenet eltávolítva + + Élő földrajzi helyzet + Tartózkodási hely megosztása + Az élő helymegosztáshoz ebben a szobában megfelelő jogosultságokra van szükséged. + Nincs jogosultságod az élő helymegosztáshoz + A térkép betöltése sikertelen +\nEz a matrix szerver nincs beállítva, hogy térképet mutasson. + Beállítások megnyitása + Ez a QR code nem tűnik jónak. Próbáld meg az ellenőrzést másik metódussal. + A régi titkosított üzenetekhez nem férsz majd hozzá. Állítsd be újra a Biztonságos Üzenet Mentést és ellenőrizd a kulcsokat az újrakezdéshez. + Ennek az eszköznek az ellenőrzése nem lehetséges + Ez a hivatkozás nem nyitható meg: a közösségeket felváltották a terek + Válassz jelszót + Új jelszó + Ellenőrizd az e-mailed. + %s ellenőrző hivatkozást fog küldeni + Adatok frissítése… + Rendszerbeállítás használata + Kézi beállítás + Automatikus beállítás + Válassz betűméretet + + %1$s és %2$d másik + %1$s és %2$d másik + + %1$s és %2$s + Minden beszélgetés \ No newline at end of file From 6b26e00dd87bb2089327d8670ae95dc948f7e132 Mon Sep 17 00:00:00 2001 From: Linerly Date: Fri, 12 Aug 2022 12:57:39 +0000 Subject: [PATCH 16/63] Translated using Weblate (Indonesian) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/id/ --- vector/src/main/res/values-in/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/vector/src/main/res/values-in/strings.xml b/vector/src/main/res/values-in/strings.xml index ff1fa24255..aba69da375 100644 --- a/vector/src/main/res/values-in/strings.xml +++ b/vector/src/main/res/values-in/strings.xml @@ -965,7 +965,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Perubahan siapa yang dapat membaca riwayat hanya akan berlaku untuk pesan berikutnya di ruangan ini. Visibilitas riwayat yang ada tidak akan berubah. Pengaturan akun Anda dapat mengelola notifikasi di %1$s. - Harap dicatat bahwa pemberitahuan sebutan & kata kunci tidak tersedia di ruangan terenkripsi di ponsel. + Harap dicatat bahwa pemberitahuan sebutan & kata kunci tidak tersedia dalam ruangan terenkripsi di ponsel. Beritahu saya untuk Putar suara rana Pilih @@ -1005,11 +1005,11 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Tidak ada sinkronisasi latar belakang ${app_name} akan disinkronkan di latar belakang secara berkala pada waktu yang tepat (dapat dikonfigurasi). \nIni akan memengaruhi penggunaan radio dan baterai, dan ada juga pemberitahuan yang ditampilkan permanen menyatakan bahwa ${app_name} sedang mendengarkan peristiwa. - Anda tidak akan mendapatkan notifikasi untuk sebutan & keyword di ruangan terenkripsi di ponsel. + Anda tidak akan mendapatkan notifikasi untuk sebutan & kata kunci dalam ruangan terenkripsi di ponsel. Peningkatan ruangan Pesan dari bot Undangan ruangan - Keyword + Kata kunci \@room Pesan grup terenkripsi Pesan grup @@ -1021,16 +1021,16 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Saat ruangan ditingkatkan Pesan terenkripsi di obrolan grup Pesan terenkripsi di chat satu-ke-satu - Keyword tidak boleh berisi \'%s\' - Keyword tidak boleh diawali dengan \'.\' - Tambahkan keyword baru - Keyword Anda + Kata kunci tidak boleh berisi \'%s\' + Kata kunci tidak boleh diawali dengan \'.\' + Tambahkan kata kunci baru + Kata kunci Anda Beritahu saya untuk Lainnya - Sebutan dan Keyword + Sebutan dan Kata Kunci Notifikasi Bawaan Tidak ada - Hanya sebutan & keyword + Hanya sebutan & kata kunci Mengakhiri panggilan… Tidak ada jawaban Pengguna yang Anda panggil sedang sibuk. @@ -1097,7 +1097,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. %1$s membuat ruangan publik untuk siapa pun yang mengetahui tautannya. Tekan lama pada sebuah ruangan untuk melihat lebih banyak pilihan Anda tidak mengabaikan pengguna apa pun - Ketik keyword untuk mencari reaksi. + Ketik kata kunci untuk mencari sebuah reaksi. Spoiler Mengirim pesan sebagai spoiler Anda tidak membuat perubahan From 557508c7b5c8e048b34e842508dea63cf1d0e44f Mon Sep 17 00:00:00 2001 From: random Date: Fri, 12 Aug 2022 10:03:33 +0000 Subject: [PATCH 17/63] Translated using Weblate (Italian) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/it/ --- vector/src/main/res/values-it/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-it/strings.xml b/vector/src/main/res/values-it/strings.xml index 46bb5453a8..afa0831206 100644 --- a/vector/src/main/res/values-it/strings.xml +++ b/vector/src/main/res/values-it/strings.xml @@ -2594,4 +2594,8 @@ %1$s e %2$s Email non verificata, controlla la posta in arrivo + Impossibile caricare la mappa +\nQuesto homeserver potrebbe non essere configurato per mostrare mappe. + Apri le impostazioni + Tutte le chat \ No newline at end of file From 302c084701076f12ebb5cc355f0e12765af67253 Mon Sep 17 00:00:00 2001 From: lvre <7uu3qrbvm@relay.firefox.com> Date: Fri, 12 Aug 2022 17:03:06 +0000 Subject: [PATCH 18/63] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/ --- vector/src/main/res/values-pt-rBR/strings.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vector/src/main/res/values-pt-rBR/strings.xml b/vector/src/main/res/values-pt-rBR/strings.xml index 8e4e1942da..18a8e3d490 100644 --- a/vector/src/main/res/values-pt-rBR/strings.xml +++ b/vector/src/main/res/values-pt-rBR/strings.xml @@ -2576,7 +2576,7 @@ URL de servidor Qual é o endereço de seu servidor\? Isto é como uma casa para todos os seus dados Selecionar seu servidor - Boas-vindas de volta! + Boas vindas de volta! Editar Ou Onde suas conversas vão viver @@ -2603,4 +2603,8 @@ %1$s e %2$s Email não verificado, cheque sua inbox + Incapaz de carregar mapa +\nEste servidor casa pode não estar configurado para exibir mapas. + Abrir configurações + Todos os Chats \ No newline at end of file From 44cfa5dcb04029768f28c848807e7c3979302ef2 Mon Sep 17 00:00:00 2001 From: Nui Harime Date: Fri, 12 Aug 2022 22:58:34 +0000 Subject: [PATCH 19/63] Translated using Weblate (Russian) Currently translated at 99.0% (2309 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/ --- vector/src/main/res/values-ru/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/vector/src/main/res/values-ru/strings.xml b/vector/src/main/res/values-ru/strings.xml index 51e8a72ec7..f634025e86 100644 --- a/vector/src/main/res/values-ru/strings.xml +++ b/vector/src/main/res/values-ru/strings.xml @@ -55,7 +55,7 @@ Начальная синхронизация: \nИмпорт сообществ Начальная синхронизация: -\nИмпорт данных учетной записи +\nИмпорт данных учётной записи %s обновил эту комнату. Отправка сообщения… %1$s отозвал приглашение %2$s присоединиться к комнате @@ -194,7 +194,7 @@ %1$s, %2$s и %3$s 🎉 Всем серверам запрещено участвовать! Эта комната больше не может быть использована. Без изменений. - Пустая комната (был(а) %s) + Пустая комната (без %s) • Соответствующие серверы %s заблокированы. • Серверы, соответствующие буквальным IP-адресам, теперь запрещены. • Серверы, соответствующие буквальным IP-адресам, теперь разрешены. @@ -1455,7 +1455,7 @@ %d сессии активны %d сессий активно - Подтверждение этого устройства + Подтвердите это устройство Используйте существующую сессию для подтверждения этой, предоставив ей доступ к зашифрованным сообщениям. Инструменты для разработчиков Данные учётной записи @@ -2235,7 +2235,7 @@ Входящий видеовызов Входящий голосовой вызов Вы отклонили этот вызов - Настройки учетной записи + Настройки учётной записи Вы можете управлять уведомлениями в %1$s. Обратите внимание, что уведомления об упоминаниях и ключевых словах недоступны в зашифрованных комнатах на мобильных устройствах. Уведомлять меня о @@ -2449,7 +2449,7 @@ Команды Друзья и семья Мы поможем вам подключиться - С кем вы будете общаться больше всего\? + С кем вы будете общаться чаще всего\? Вы уже просматриваете это обсуждение! Просмотр в Комнате Обсудить @@ -2661,7 +2661,7 @@ URL-адрес сервера С возвращением! Или - Создать учётную запись + Создайте учётную запись %1$s и %2$s Открыть настройки Не удалось загрузить карту From b14aed43b8782d892a87a2d07dee10b18b33e73e Mon Sep 17 00:00:00 2001 From: lvre <7uu3qrbvm@relay.firefox.com> Date: Fri, 12 Aug 2022 17:04:47 +0000 Subject: [PATCH 20/63] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/pt_BR/ --- fastlane/metadata/android/pt-BR/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/pt-BR/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/pt-BR/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/pt-BR/changelogs/40104310.txt diff --git a/fastlane/metadata/android/pt-BR/changelogs/40104300.txt b/fastlane/metadata/android/pt-BR/changelogs/40104300.txt new file mode 100644 index 0000000000..5f1aaf4b3d --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Principais mudanças nesta versão: Habilita as jornadas melhoradas de sign in e sign up. +Changelog completo: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/pt-BR/changelogs/40104310.txt b/fastlane/metadata/android/pt-BR/changelogs/40104310.txt new file mode 100644 index 0000000000..5f1aaf4b3d --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Principais mudanças nesta versão: Habilita as jornadas melhoradas de sign in e sign up. +Changelog completo: https://github.com/vector-im/element-android/releases From 9281f5564e9c13fd319e63256aa6c03f4fa41331 Mon Sep 17 00:00:00 2001 From: random Date: Fri, 12 Aug 2022 10:04:34 +0000 Subject: [PATCH 21/63] Translated using Weblate (Italian) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/it/ --- fastlane/metadata/android/it-IT/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/it-IT/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/it-IT/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/it-IT/changelogs/40104310.txt diff --git a/fastlane/metadata/android/it-IT/changelogs/40104300.txt b/fastlane/metadata/android/it-IT/changelogs/40104300.txt new file mode 100644 index 0000000000..40d9618137 --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Modifiche principali in questa versione: introduce i percorsi migliorati di accesso e registrazione. +Cronologia completa: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/it-IT/changelogs/40104310.txt b/fastlane/metadata/android/it-IT/changelogs/40104310.txt new file mode 100644 index 0000000000..40d9618137 --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Modifiche principali in questa versione: introduce i percorsi migliorati di accesso e registrazione. +Cronologia completa: https://github.com/vector-im/element-android/releases From b04d338f26ee2b10a186ec138a550f3dfd3bc54b Mon Sep 17 00:00:00 2001 From: Linerly Date: Fri, 12 Aug 2022 13:15:48 +0000 Subject: [PATCH 22/63] Translated using Weblate (Indonesian) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/id/ --- .../metadata/android/id/full_description.txt | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/fastlane/metadata/android/id/full_description.txt b/fastlane/metadata/android/id/full_description.txt index d3bed0bf6b..20d805c582 100644 --- a/fastlane/metadata/android/id/full_description.txt +++ b/fastlane/metadata/android/id/full_description.txt @@ -1,42 +1,42 @@ -Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas yang ideal untuk obrolan grup saat bekerja jarak jauh. Aplikasi perpesanan ini menggunakan enkripsi ujung-ke-ujung untuk memberikan konferensi video, pembagian file, dan panggilan suara yang aman. +Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas yang ideal untuk obrolan grup saat bekerja jarak jauh. Aplikasi perpesanan ini menggunakan enkripsi ujung-ke-ujung untuk menyediakan konferensi video, pembagian berkas, dan panggilan suara yang aman. -Fitur Element termasuk -- Alat komunikasi online yang canggih +Fitur Element termasuk: +- Alat komunikasi daring yang canggih - Pesan-pesan yang dienkripsi sepenuhnya untuk memungkinkan komunikasi perusahaan yang lebih aman, bahkan untuk pekerja jarak jauh -- Obrolan terdesentralisasi berdasarkan kerangka Matrix yang sumber terbuka -- Pembagian file aman dengan data terenkripsi saat mengelola proyek +- Obrolan terdesentralisasi berdasarkan kerangka kerja Matrix yang sumber terbuka +- Pembagian berkas aman dengan data terenkripsi saat mengelola proyek - Obrolan video dengan VoIP dan pembagian layar -- Integrasi yang mudah dengan alat kolaborasi online favorit Anda, alat manajemen proyek, layanan VoIP dan aplikasi perpesanan tim lainnya +- Integrasi yang mudah dengan alat kolaborasi daring favorit Anda, alat pengelola proyek, layanan VoIP dan aplikasi perpesanan tim lainnya -Element benar-benar berbeda dari aplikasi perpesanan dan aplikasi kolaborasi lainnya. Element beroperasi pada Matrix, jaringan terbuka untuk pengiriman pesan yang aman dan komunikasi terdesentralisasi. +Element benar-benar berbeda dari aplikasi perpesanan dan aplikasi kolaborasi lainnya. Element beroperasi pada Matrix, jaringan terbuka untuk pengiriman pesan yang aman dan komunikasi yang terdesentralisasi. Perpesanan dengan privasi dan enkripsi -Element melindungi Anda dari iklan yang tidak diinginkan, penambangan data dan taman berdinding. Element juga mengamankan semua data Anda, komunikasi video dan suara satu-ke-satu dengan enkripsi ujung-ke-ujung dan verifikasi perangkat menggunakan penandatanganan silang. +Element melindungi Anda dari iklan yang tidak diinginkan, penambangan data, dan taman berdinding. Element juga mengamankan semua data Anda, komunikasi video dan suara satu-ke-satu dengan enkripsi ujung-ke-ujung, dan verifikasi perangkat menggunakan penandatanganan silang. -Element memberikan Anda kendali atas privasi Anda sambil memungkinkan Anda untuk berkomunikasi dengan siapa saja secara aman di jaringan Matrix, atau alat kolaborasi bisnis lainnya dengan mengintegrasikan aplikasi-aplikasi seperti Slack. +Element memberikan Anda kendali atas privasi Anda sambil memungkinkan Anda untuk berkomunikasi dengan siapa saja secara aman di jaringan Matrix, atau alat kolaborasi bisnis lainnya dengan mengintegrasikan aplikasi seperti Slack. -Element dapat dihost sendiri -Untuk memungkinkan lebih banyak kendali atas data dan pesan-pesan sensitif Anda, Element dapat dihost sendiri atau Anda dapat memilih host berbasis Matrix, standar untuk komunikasi terdesentralisasi sumber terbuka. Element memberi Anda privasi, kepatuhan keamanan, dan fleksibilitas integrasi. +Element dapat di-host sendiri +Untuk memungkinkan lebih banyak kendali atas data dan pesan-pesan sensitif Anda, Element dapat dilayani sendiri atau Anda dapat memilih layanan berbasis Matrix, standar untuk komunikasi terdesentralisasi sumber terbuka. Element memberikan Anda privasi, kepatuhan keamanan, dan fleksibilitas integrasi. Miliki data Anda Anda memutuskan di mana untuk menyimpan data dan pesan-pesan Anda, tanpa risiko penambangan data atau akses dari pihak ketiga. Element menempatkan Anda dalam kendali dengan cara yang berbeda: -1. Dapatkan akun gratis pada server publik matrix.org yang dihost oleh pengembang Matrix, atau memilih dari ribuan server publik yang dihost oleh sukarelawan -2. Host sendiri akun Anda dengan menjalankan server pada infrastruktur IT Anda sendiri +1. Dapatkan akun gratis pada server publik matrix.org yang dilayani oleh pengembang Matrix, atau memilih dari ribuan server publik yang dilayani oleh sukarelawan +2. Layani akun Anda sendiri dengan menjalankan server pada infrastruktur IT Anda sendiri 3. Daftar untuk akun di server khusus dengan berlangganan platform hosting Layanan Matrix Element Perpesanan dan kolaborasi terbuka -Anda dapat mengobrol dengan siapa saja di jaringan Matrix, jika mereka menggunakan Element, aplikasi Matrix lain atau bahkan menggunakan aplikasi perpesanan yang berbeda. +Anda dapat mengobrol dengan siapa saja di jaringan Matrix, jika mereka menggunakan Element, aplikasi Matrix lain, atau bahkan menggunakan aplikasi perpesanan yang berbeda. Sangat aman -Enkripsi ujung-ke-ujung yang nyata (hanya mereka yang dalam obrolan dapat mendekripsi pesan), dan verifikasi perangkat menggunakan penandatanganan silang. +Enkripsi ujung-ke-ujung yang nyata (hanya mereka yang di dalam obrolan dapat mendekripsikan pesan), dan verifikasi perangkat menggunakan penandatanganan silang. Komunikasi dan integrasi lengkap -Perpesanan, panggilan suara dan video, pembagian file, pembagian layar dan banyak integrasi bot dan widget. Buat ruangan dan komunitas, tetap terhubung dan selesaikan hal-hal penting. +Perpesanan, panggilan suara dan video, pembagian berkas, pembagian layar dan banyak integrasi bot dan widget. Buat ruangan dan komunitas, tetap terhubung, dan selesaikan hal-hal penting. Ambil di mana Anda tinggalkan -Tetap terhubung di mana Anda berada, dengan riwayat pesan yang disinkronkan di semua perangkat Anda dan web di https://app.element.io +Tetap terhubung di mana Anda berada, dengan riwayat pesan yang disinkronkan pada semua perangkat Anda dan pada web di https://app.element.io Sumber terbuka -Element Android adalah proyek sumber terbuka, dihost oleh GitHub. Silakan laporkan masalah yang Anda temukan, atau membuat kontribusi ke pengembangannya di https://github.com/vector-im/element-android +Element Android adalah proyek sumber terbuka, dilayani oleh GitHub. Silakan laporkan masalah yang Anda temukan, atau membuat kontribusi ke pengembangannya di https://github.com/vector-im/element-android From 9220ab7718254b462a3ba3c3bd5294e19dc5e48f Mon Sep 17 00:00:00 2001 From: waclaw66 Date: Mon, 15 Aug 2022 07:10:22 +0000 Subject: [PATCH 23/63] Translated using Weblate (Czech) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/ --- vector/src/main/res/values-cs/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-cs/strings.xml b/vector/src/main/res/values-cs/strings.xml index 5733fde468..68c8362878 100644 --- a/vector/src/main/res/values-cs/strings.xml +++ b/vector/src/main/res/values-cs/strings.xml @@ -2653,4 +2653,8 @@ %1$s a %2$s E-mail nebyl ověřen, zkontrolujte si schránku + Nelze načíst mapu +\nTento domovský server nemusí být nakonfigurován pro zobrazování map. + Otevřít nastavení + Všechny konverzace \ No newline at end of file From d9e440e7eef7bbea74bfe91c8d47286e52709ac0 Mon Sep 17 00:00:00 2001 From: phardyle Date: Tue, 16 Aug 2022 04:47:42 +0000 Subject: [PATCH 24/63] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.8% (2327 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- vector/src/main/res/values-zh-rCN/strings.xml | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index 0549bd84a9..b8b2b5856f 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -81,8 +81,8 @@ %1$s 为此房间移除了主要地址。 %1$s 已允许访客加入房间。 %1$s 已禁止访客加入房间。 - %1$s 已开启端对端加密。 - %1$s 已开启端对端加密(无法识别的演算法 %2$s)。 + %1$s已开启端到端加密。 + %1$s已开启端到端加密(无法识别的算法%2$s)。 %1$s 创建了这个房间 你的邀请 你创建了这个房间 @@ -152,8 +152,8 @@ 你移除了此房间的主要地址。 你已允许访客加入房间。 你已禁止访客加入房间。 - 你已开启端对端加密。 - 你已开启端对端加密(无法识别的算法 %1$s)。 + 你已开启端到端加密。 + 你已开启端到端加密(无法识别的算法%1$s)。 你已离开。理由:%1$s %1$s 已离开。理由:%2$s 你已加入。理由:%1$s @@ -312,13 +312,13 @@ 高级 此房间的内部 ID 这些是实验性功能,可能会出现不可预料的错误。请谨慎使用。 - 导出端对端房间密钥 + 导出端到端房间密钥 导出房间密钥 导出密钥到本地文件 导出 输入密语 确认密语 - 导入端对端房间密钥 + 导入端到端房间密钥 导入房间密钥 从本地文件导入密钥 仅向已验证的会话发送加密消息 @@ -666,9 +666,9 @@ 密语太弱了 如果你想要 ${app_name} 生成一个恢复密钥,请删除密语。 永不丢失已加密消息 - 加密房间中的信息会被端对端加密以确保安全。只有你和拥有密钥的接收方可以读取这些信息。 + 加密房间中的消息是端到端加密的,以确保安全。只有你和接收者拥有密钥读取这些消息。 \n -\n安全地备份你的密钥以免丢失信息。 +\n安全地备份你的密钥以免丢失消息。 开始使用备份密钥 (高级) 手动导出密钥 @@ -967,7 +967,7 @@ 建议发送失败 (%s) 在时间线上显示隐藏事件 私聊消息 - 正在等待… + 正在等待…… 正在加密缩略图… 正在发送缩略图 (%1$s / %2$s) 正在加密文件… @@ -1117,7 +1117,7 @@ 电子邮件 新密码 注意! - 更改你的密码将重置所有会话上的端对端加密密钥,从而使加密聊天记录无法读取。在重设密码之前,请设置“密钥备份”或从另一个会话中导出房间密钥。 + 更改你的密码将重置所有会话上的端到端加密密钥,从而使加密聊天记录无法读取。在重设密码之前,请设置“密钥备份”或从另一个会话中导出房间密钥。 继续 电子邮件未链接到任何账户 检查你的收件箱 @@ -1239,7 +1239,7 @@ 音频 文件 贴纸 - 正在等待… + 正在等待…… %s 已取消 你已取消 %s 已接受 @@ -1254,9 +1254,9 @@ 通过比较表情符号验证 验证 %s 已验证 %s - 正在等待 %s… - 此房间的消息未经端对端加密。 - 该房间的消息已被端对端加密。 + 正在等待%s…… + 此房间的消息未经端到端加密。 + 该房间的消息已端到端加密。 \n \n你的消息受加密保护,并且只有你和消息接收者拥有唯一解密密钥。 安全 @@ -1289,7 +1289,7 @@ 和彩虹一样给给定的表情上色后发送 时间线 消息编辑器 - 启用端对端加密… + 启用端到端加密…… 是否启用加密? 房间加密一经启用,便无法禁用。在加密房间中,发送的消息无法被服务器看到,只能被房间的参与者看到。启用加密可能会使许多机器人和桥接无法正常运作。 启用加密 @@ -1297,7 +1297,7 @@ 为保证安全,请当面验证,或者使用其他通讯方式验证。 比较独特表情,确保它们以相同顺序出现。 与其他用户设备上显示的代码比较。 - 与此用户的消息端对端加密,无法被第三方读取。 + 与此用户的消息是端到端加密的,无法被第三方读取。 你的新会话已验证。它可以访问你的加密消息,其他用户会将其视为可信任。 交叉签名 交叉签名已启用 @@ -1308,7 +1308,7 @@ 交叉签名已启用。 \n密钥未信任 交叉签名未启用 - 你的服务器管理员已默认禁用私有房间和私聊消息端对端加密。 + 你的服务器管理员已默认禁用私有房间和私聊消息端到端加密。 活跃的会话 显示全部会话 管理会话 @@ -1344,7 +1344,7 @@ 使用恢复密语或密钥 如果你无法访问已有会话 无法在存储中找到秘密 - 移除… + 移除…… 你想要发送此附件到 %1$s 吗? 发送原始尺寸图片 @@ -1409,7 +1409,7 @@ \n \n你也可以通过设置菜单来建立保护备份以及管理你的密钥。 加密已开启 - 本房间信息已经端对端加密。验证成员时,请查看其个人档案以了解更多信息。 + 本房间信息已经端到端加密。验证成员时,请查看其个人档案以了解更多信息。 加密未开启 不支持本房间使用的加密方式 %s 创建并配置了房间。 @@ -1632,13 +1632,13 @@ 忘记或丢失了所有的恢复选项?重置一切 你已加入。 %s 已加入。 - 此聊天的消息是端对端加密的。 + 此聊天的消息是端到端加密的。 离开 设置 - 此处的消息已被端对端加密。 + 此处的消息已端到端加密。 \n \n你的消息受加密保护,并且只有你和消息接收者拥有唯一解密密钥。 - 此处的消息未经端对端加密。 + 此处的消息未经端到端加密。 此主服务器正在运行较旧版本。要求你的主服务器管理员升级。你可以继续,但一些功能可能无法正确工作。 你仅发出此邀请。 %1$s 仅发出此邀请。 @@ -1819,7 +1819,7 @@ 初始化同步: \n正在下载数据… 初始化同步: -\n正在等待服务器响应… +\n正在等待服务器响应…… 空房间(曾为 %s) %1$s,%2$s,%3$s 和 %4$d 位其他成员 @@ -1970,7 +1970,7 @@ 提供反馈 反馈发送失败(%s) 感谢,你的反馈已成功送达 - 如果你后续有任何问题,欢迎联系我 + 如果你有任何后续问题,可以联系我 你正在使用空间的测试版。你的反馈将有助于改善下一版本。我们将会记录你的平台和用户名以帮助我们尽我们所能多发挥你的反馈的作用。 反馈 空间反馈 @@ -2456,7 +2456,7 @@ 主服务器不接收仅有数字的用户名。 发送你的第一条消息邀请%s聊天 加密配置错误 - 此聊天中的消息会被端对端加密。 + 此聊天中的消息会端到端加密。 还原加密 请联系管理员将加密还原到有效状态。 加密被错误地配置了。 From 1f7196b8d56218ea25bbb7a92febdeb0985b0c60 Mon Sep 17 00:00:00 2001 From: waclaw66 Date: Mon, 15 Aug 2022 07:11:34 +0000 Subject: [PATCH 25/63] Translated using Weblate (Czech) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/ --- fastlane/metadata/android/cs-CZ/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/cs-CZ/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/40104310.txt diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40104300.txt b/fastlane/metadata/android/cs-CZ/changelogs/40104300.txt new file mode 100644 index 0000000000..e74d892209 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Umožňuje vylepšené přihlašování a registraci. +Úplný seznam změn: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40104310.txt b/fastlane/metadata/android/cs-CZ/changelogs/40104310.txt new file mode 100644 index 0000000000..e74d892209 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Umožňuje vylepšené přihlašování a registraci. +Úplný seznam změn: https://github.com/vector-im/element-android/releases From d42b72c8bf207ddd5dfd0a4a32eb31c2c8158d45 Mon Sep 17 00:00:00 2001 From: phardyle Date: Tue, 16 Aug 2022 10:02:24 +0000 Subject: [PATCH 26/63] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- vector/src/main/res/values-zh-rCN/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index b8b2b5856f..c52edec4bd 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -2553,4 +2553,8 @@ 你的对话发生的地方 %1$s和%2$s 电子邮件未确认,检查你的收件箱 + 无法加载地图 +\n此主服务器可能没有设置好显示地图。 + 打开设置 + 全部聊天 \ No newline at end of file From 37d46ca729cebb6ea6a977e201ec525b18db8eea Mon Sep 17 00:00:00 2001 From: Fork Liang Date: Fri, 19 Aug 2022 08:42:06 +0000 Subject: [PATCH 27/63] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- vector/src/main/res/values-zh-rCN/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index c52edec4bd..cf6e412ad2 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -104,7 +104,7 @@ 你把房间名称改为:%1$s 你发起了一次视频通话。 你发起了一次语音通话。 - %s 发送了数据以建立通话。 + %s 发送了数据以设置并建立通话。 你发送了数据以建立通话。 你接听了通话。 你结束了通话。 From 6009578829a215c74c21fd4eca151b95e1572ed2 Mon Sep 17 00:00:00 2001 From: phardyle Date: Fri, 19 Aug 2022 07:25:24 +0000 Subject: [PATCH 28/63] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- vector/src/main/res/values-zh-rCN/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index cf6e412ad2..d167c76683 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -1409,7 +1409,7 @@ \n \n你也可以通过设置菜单来建立保护备份以及管理你的密钥。 加密已开启 - 本房间信息已经端到端加密。验证成员时,请查看其个人档案以了解更多信息。 + 本房间的消息端到端加密。在成员用户资料中了解更多信息与验证成员。 加密未开启 不支持本房间使用的加密方式 %s 创建并配置了房间。 @@ -1670,7 +1670,7 @@ 手动发布新地址 其它发布的地址: 这是主要地址 - 发布的地址可以被任何服务器上的任何人用来加入你的房间。要发布一个地址,它必须先被设为一个本地地址。 + 任何服务器上的任何人都可用发布的地址加入你的房间。一个地址必须先设置为本地地址才可发布。 发布的地址 查看和管理此房间的地址,以及它在房间目录中的可见性。 房间地址 From ce87795520ad5fbc85ba2fc2ba01a5f51a346819 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Aug 2022 23:09:53 +0000 Subject: [PATCH 29/63] Bump flipper from 0.157.0 to 0.161.0 Bumps `flipper` from 0.157.0 to 0.161.0. Updates `flipper` from 0.157.0 to 0.161.0 - [Release notes](https://github.com/facebook/flipper/releases) - [Commits](https://github.com/facebook/flipper/compare/v0.157.0...v0.161.0) Updates `flipper-network-plugin` from 0.157.0 to 0.161.0 - [Release notes](https://github.com/facebook/flipper/releases) - [Commits](https://github.com/facebook/flipper/compare/v0.157.0...v0.161.0) --- updated-dependencies: - dependency-name: com.facebook.flipper:flipper dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: com.facebook.flipper:flipper-network-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 5083dd4556..80dc203740 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -22,7 +22,7 @@ def markwon = "4.6.2" def moshi = "1.13.0" def lifecycle = "2.5.1" def flowBinding = "1.2.0" -def flipper = "0.157.0" +def flipper = "0.161.0" def epoxy = "4.6.2" def mavericks = "2.7.0" def glide = "4.13.2" From d5dd1fb166c118a7daff05fdad6f1aa77a83d135 Mon Sep 17 00:00:00 2001 From: Glandos Date: Sat, 20 Aug 2022 08:07:28 +0000 Subject: [PATCH 30/63] Translated using Weblate (French) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/ --- vector/src/main/res/values-fr/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vector/src/main/res/values-fr/strings.xml b/vector/src/main/res/values-fr/strings.xml index 07849141b6..4318b426bd 100644 --- a/vector/src/main/res/values-fr/strings.xml +++ b/vector/src/main/res/values-fr/strings.xml @@ -2603,4 +2603,8 @@ %1$s et %2$s Courriel non vérifié, relevez votre boîte de réception + Impossible de charger la carte +\nCe serveur d’accueil n’a peut-être pas été configuré pour afficher les cartes. + Ouvrir les paramètres + Toutes les conversations \ No newline at end of file From bb0c1af703b84a8c5b3ce34a0b655d81aca543d6 Mon Sep 17 00:00:00 2001 From: Nui Harime Date: Thu, 18 Aug 2022 08:03:57 +0000 Subject: [PATCH 31/63] Translated using Weblate (Russian) Currently translated at 99.0% (2309 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/ --- vector/src/main/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vector/src/main/res/values-ru/strings.xml b/vector/src/main/res/values-ru/strings.xml index f634025e86..96aacb7e26 100644 --- a/vector/src/main/res/values-ru/strings.xml +++ b/vector/src/main/res/values-ru/strings.xml @@ -290,7 +290,7 @@ Отчет об ошибке успешно отправлен Сбой отправки отчета об ошибке (%s) Прогресс (%s%%) - В прошлый раз приложение некорректно завершило работу. Хотите отправить отчет о сбое? + В прошлый раз приложение некорректно завершило работу. Хотите отправить отчёт о сбое\? Войти в Комнату Имя пользователя Выйти From 64156ada606b4693caf3a6858a17fac750ac2b79 Mon Sep 17 00:00:00 2001 From: phardyle Date: Fri, 19 Aug 2022 17:53:47 +0000 Subject: [PATCH 32/63] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2330 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- vector/src/main/res/values-zh-rCN/strings.xml | 98 +++++++++---------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index d167c76683..1f8fd4c755 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -57,7 +57,7 @@ 初始化同步: \n正在导入账户数据 %s 升级了此房间。 - 正在发送消息… + 正在发送消息…… %1$s 撤回了对 %2$s 加入房间的邀请 %1$s 的邀请。理由:%2$s %1$s 邀请了 %2$s。理由:%3$s @@ -65,7 +65,7 @@ %1$s 加入了房间。理由:%2$s %1$s 离开了房间。理由:%2$s %1$s 已拒绝邀请。理由:%2$s - %1$s 踢走了 %2$s。理由:%3$s + %1$s移除了%2$s。理由:%3$s %1$s 解封了 %2$s。理由:%3$s %1$s 封禁了 %2$s。理由:%3$s %1$s 接受 %2$s 的邀請。理由:%3$s @@ -90,7 +90,7 @@ 你加入了房间 你离开了房间 你拒绝了邀请 - 你踢了 %1$s + 你移除了 %1$s 你解封了 %1$s 你封禁了 %1$s 你撤回了对 %1$s 的邀请 @@ -104,7 +104,7 @@ 你把房间名称改为:%1$s 你发起了一次视频通话。 你发起了一次语音通话。 - %s 发送了数据以设置并建立通话。 + %s 发送了数据以建立通话。 你发送了数据以建立通话。 你接听了通话。 你结束了通话。 @@ -136,7 +136,7 @@ 你加入了房间。理由:%1$s 你离开了房间。理由:%1$s 你拒绝了邀请。理由:%1$s - 你踢走了 %1$s。理由:%2$s + 你移除了%1$s。理由:%2$s 你解封了 %1$s。理由:%2$s 你封禁了 %1$s。理由:%2$s 你接受了 %1$s 的邀请。理由:%2$s @@ -316,8 +316,8 @@ 导出房间密钥 导出密钥到本地文件 导出 - 输入密语 - 确认密语 + 输入口令词组 + 确认口令词组 导入端到端房间密钥 导入房间密钥 从本地文件导入密钥 @@ -455,7 +455,7 @@ 封禁用户会把他们移出此房间并阻止他们再次加入。 全部消息 添加到主屏幕 - 启用链接预览 + 行内URL预览 提及用户时震动 创建 @@ -524,7 +524,7 @@ 用给定地址加入房间 离开房间 设置房间主题 - 按照 ID 踢出用户 + 从此房间移除指定ID的用户 更改你显示的显示名称 打开/关闭 markdown 修复 Matrix Apps 管理 @@ -592,7 +592,7 @@ 启用开机时启动 检查后台限制 电池优化 - 若主服务器支持此功能,在聊天中预览链接内容。 + 当主服务器支持此功能时,在聊天中预览链接。 发送正在输入通知 让房间中的其他用户知道你正在输入。 Markdown 格式化 @@ -623,9 +623,9 @@ ${app_name} 未被电池优化影响。 如果设备在未充电的情况下关屏静置一段时间,其将进入低电耗模式(Doze)。这将阻止应用访问网络并延后其运行、同步与响铃。 忽略电池优化 - 请输入用于加密被导出密钥的密语。恢复此备份时,必须输入相同的密语才能导入密钥。 - 创建密语 - 密语必须对应 + 请输入用于加密被导出密钥的口令词组。恢复此备份时,必须输入相同的口令词组才能导入密钥。 + 创建口令词组 + 口令词组不匹配 指令 %s 需要更多参数,或者有些参数不正确。 没有可用的 Google Play Services APK。消息通知可能不能正常工作。 密钥备份 @@ -662,9 +662,9 @@ 管理密钥备份 静音 请输入一个用户名。 - 请输入密语 - 密语太弱了 - 如果你想要 ${app_name} 生成一个恢复密钥,请删除密语。 + 请输入口令词组 + 口令词组太弱了 + 如果你想要 ${app_name} 生成一个恢复密钥,请删除口令词组。 永不丢失已加密消息 加密房间中的消息是端到端加密的,以确保安全。只有你和接收者拥有密钥读取这些消息。 \n @@ -672,17 +672,17 @@ 开始使用备份密钥 (高级) 手动导出密钥 - 使用密语保护你的备份。 - 我们将会在主服务器上为你的密钥保存一份加密拷贝。设置一个密语来保护你的备份的安全。 + 使用口令词组保护你的备份。 + 我们将会在主服务器上为你的密钥保存一份加密拷贝。设置一个口令词组来保护你的备份的安全。 \n -\n为了最大的安全性,此密语应当与你的账户密码不同。 - 设置密语 +\n为了最大的安全性,此口令词组应当与你的账户密码不同。 + 设置口令词组 正在创建备份 或者用一个恢复密钥来保护你的备份,将其保存到另一个安全的地方。 (高级)设置一个恢复密钥 成功! 正在备份你的密钥。 - 你的恢复密钥是一张安全网——如果你忘记了密语,你可以利用它重获你的已加密消息的访问权。 + 你的恢复密钥是一张安全网——如果你忘记了口令词组,你可以利用它重获你的已加密消息的访问权。 \n请将你的恢复密钥保存在一个非常安全的地方,比如密码管理器中(或保险箱里) 将你的恢复密钥保存在一个非常安全的地方,比如密码管理器中(或保险箱里) 完成 @@ -692,19 +692,19 @@ 保存为文件 请制作一份拷贝 分享恢复密钥… - 正在使用密语来生成恢复密钥,此过程可能会花费几秒钟。 + 正在使用口令词组来生成恢复密钥,此过程可能会花费几秒钟。 恢复密钥 意外错误 你确定吗? 如果你登出账户或者丢失此设备,你可能再也无法访问你的信息。 正在获取备份的版本 … - 使用恢复密语解锁你的已加密历史消息 + 使用恢复口令词组解锁你的已加密消息历史 使用你的恢复密钥 - 如果不知道你的恢复密语,你可以 %s。 + 如果不知道你的恢复口令词组,你可以 %s。 使用恢复密钥解锁你的已加密历史消息 输入恢复密钥 丢失了恢复密钥?你可以在设置中新建一个。 - 无法使用此密语解密备份:请检查你输入的恢复密语是否正确。 + 无法使用此口令词组解密备份:请检查你输入的恢复口令词组是否正确。 正在恢复备份: 正在计算恢复密钥… 正在下载密钥… @@ -731,13 +731,13 @@ 备份具有来自未验证会话%s的有效签名 备份具有来自已验证会话%s的无效签名 备份具有来自未验证会话%s的无效签名 - 要在此会话中使用密钥备份,请立即使用密语或恢复密钥进行恢复。 + 要在此会话中使用密钥备份,请立即使用口令词组或恢复密钥进行恢复。 正在删除备份… 删除备份 要从此服务器中删除你备份的加密密钥吗?你将无法再使用恢复密钥来读取加密的历史消息。 永不丢失已加密消息 使用备份密钥 - 新加密信息密钥 + 新安全消息密钥 管理密钥备份 正在备份密钥… 所有密钥都已备份 @@ -867,8 +867,8 @@ 取消忽略此用户将重新显示来自他们的全部消息。 取消邀请 你确定想要取消邀请此用户吗? - 踢掉用户 - 踢掉理由 + 移除用户 + 移除的理由 用户将从此房间移除。 \n \n为防止他们再次加入,你应改为封禁他们。 @@ -892,7 +892,7 @@ 设置安全备份 重置安全备份 在此设备上设置 - 通过在你的服务器上备份加密密钥,防止失去对加密信息和数据的访问。 + 通过在你的服务器上备份加密密钥,防止失去对加密消息和数据的访问。 为你已有的备份生成新的安全密钥或设置新的安全短语。 这将替换你的当前密钥或短语。 发现 @@ -936,7 +936,7 @@ 你的主服务器上已存在备份 你似乎已在另一个会话中设置密钥备份。你想要将其替换为正在创建的吗? 安全备份 - 保护加密信息及数据的访问权 + 保护加密消息及数据的访问权 设置安全备份 你未使用身份服务器 你似乎正在试图连接到另一个主服务器。你想要登出吗? @@ -1341,7 +1341,7 @@ 飞行模式已打开 开发工具 账户数据 - 使用恢复密语或密钥 + 使用恢复口令词组或密钥 如果你无法访问已有会话 无法在存储中找到秘密 移除…… @@ -1375,7 +1375,7 @@ \n我们推荐你在设置中立即更换你的密码和恢复密钥。 已取消验证。 您可以重新开始验证。 验证已取消 - 恢复密语 + 恢复口令词组 消息密钥 输入你的 %s 以继续。 不要使用你的账户密码。 @@ -1386,7 +1386,7 @@ 保持安全 完成 发布创建的身份密钥 - 从密语生成安全密钥 + 从口令词组生成安全密钥 正在定义 SSSS 默认密钥 正在同步主密钥 正在同步用户密钥 @@ -1419,15 +1419,15 @@ 正在等候 %s… 导入密钥失败 通知配置 - 一对一聊天的加密信息 - 群聊的加密信息 + 一对一聊天的加密消息 + 群聊的加密消息 消息包含 @room 当房间升级 故障诊断 以纯文本形式发送消息,而不将其解释为 markdown 用户名和/或密码不正确。输入的密码以空格开头或结尾,请检查。 此账户已停用。 - 消息… + 消息…… 加密升级可用 验证你自己和其他人以保证你的聊天安全 输入你的 %s 以继续 @@ -1437,18 +1437,18 @@ 检查备份密钥 检查备份密钥 (%s) 获取曲线密钥 - 从密语生成 SSSS 密钥 - 从密语生成 SSSS 密钥(%s) + 从口令词组生成 SSSS 密钥 + 从口令词组生成 SSSS 密钥(%s) 从恢复密钥生成 SSSS 密钥 正在在 SSSS 中保存密钥备份秘密 - 输入你的密钥备份密语以继续。 + 输入你的密钥备份口令词组以继续。 使用你的密钥备份恢复密钥 - 不知道你的密钥备份密语,你可以 %s。 + 不知道你的密钥备份口令词组,你可以 %s。 密钥备份恢复密钥 阻止应用内屏幕截图 启用此设置添加 FLAG_SECURE 到所有活动。重启应用使更改生效。 无法保存媒体文件 - 选择新的账户密码… + 设置新账户密码…… 在你的其他设备上使用最新的${app_name} 网页版、${app_name} 桌面版、${app_name} iOS 版、${app_name} 安卓版,或其他能够交叉签名的 Matrix 客户端 ${app_name} Web \n${app_name} Desktop @@ -1513,7 +1513,7 @@ 停止相机 启动相机 安全备份 - 通过在你的服务器上备份加密密钥,防止失去对加密信息和数据的访问。 + 通过在你的服务器上备份加密密钥,防止失去对加密消息和数据的访问。 设置 使用安全密钥 生成安全密钥存储在安全的地方如密码管理器或保险箱。 @@ -1595,8 +1595,8 @@ 电子邮件和电话号码 管理链接到你的 Matrix 账户的电子邮件和电话号码 代码 - 请使用国际格式(电话号码必须以 ‘+’ 开始) - 通过验证此登录确认你的身份,授权它访问加密信息。 + 请使用国际格式(电话号码必须以“+”开始) + 验证此登录来确认你的身份,授权其访问加密消息。 无法打开你被封禁的房间。 无法找到此房间。请确认它存在。 你没有权限在此房间发起通话 @@ -1640,7 +1640,7 @@ \n你的消息受加密保护,并且只有你和消息接收者拥有唯一解密密钥。 此处的消息未经端到端加密。 此主服务器正在运行较旧版本。要求你的主服务器管理员升级。你可以继续,但一些功能可能无法正确工作。 - 你仅发出此邀请。 + 你将此房间设为仅邀请。 %1$s 仅发出此邀请。 在加密房间显示完整历史 %1$s 和 %2$s @@ -1755,7 +1755,7 @@ 通知每个人 移除其他人发送的消息 封禁用户 - 踢掉用户 + 移除用户 更改设置 邀请用户 发送消息 @@ -1877,7 +1877,7 @@ 正在寻找不在 %s 中的人? %s 邀请了你 你被邀请 - 空间是一种将房间和人们进行重新分组的新方式。 + 空间是把房间和人分组的新方式。 添加现有房间和空间 你是此空间唯一的管理员。离开就意味着没人能控制它。 除非你被重新邀请,否则你将无法重新加入。 @@ -2167,7 +2167,7 @@ 添加至给定的空间 创建空间中… 显示一些有用的信息以帮助调试应用程序 - 在屏幕商显示调试信息 + 在屏幕上显示调试信息 看起来不像是有效的邮箱地址 打开“发现”设置 按名称、ID或邮箱搜索 From 4bc5426609d15fba051d9c81266c2b60425e47fd Mon Sep 17 00:00:00 2001 From: Glandos Date: Sat, 20 Aug 2022 08:06:24 +0000 Subject: [PATCH 33/63] Translated using Weblate (French) Currently translated at 100.0% (73 of 73 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/ --- fastlane/metadata/android/fr-FR/changelogs/40104300.txt | 2 ++ fastlane/metadata/android/fr-FR/changelogs/40104310.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/fr-FR/changelogs/40104300.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/40104310.txt diff --git a/fastlane/metadata/android/fr-FR/changelogs/40104300.txt b/fastlane/metadata/android/fr-FR/changelogs/40104300.txt new file mode 100644 index 0000000000..328e66aaa0 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40104300.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Activation de l’authentification et du parcours d’inscription améliorés. +Intégralité des changements : https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fr-FR/changelogs/40104310.txt b/fastlane/metadata/android/fr-FR/changelogs/40104310.txt new file mode 100644 index 0000000000..328e66aaa0 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40104310.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Activation de l’authentification et du parcours d’inscription améliorés. +Intégralité des changements : https://github.com/vector-im/element-android/releases From dd8cf39082593b3ec611c740af2968dfd9d8f71b Mon Sep 17 00:00:00 2001 From: bmarty Date: Mon, 22 Aug 2022 00:04:01 +0000 Subject: [PATCH 34/63] Sync analytics plan --- .../features/analytics/plan/Interaction.kt | 48 +++++++++++++++++ .../analytics/plan/PermissionChanged.kt | 53 +++++++++++++++++++ .../app/features/analytics/plan/ViewRoom.kt | 5 ++ 3 files changed, 106 insertions(+) create mode 100644 vector/src/main/java/im/vector/app/features/analytics/plan/PermissionChanged.kt diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt index deb9088259..6336faa74c 100644 --- a/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt +++ b/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt @@ -117,6 +117,12 @@ data class Interaction( */ WebLeftPanelExploreRoomsButton, + /** + * User clicked on the avatar uploader in the profile settings of + * Element Web/Desktop. + */ + WebProfileSettingsAvatarUploadButton, + /** * User interacted with pin to sidebar checkboxes in the quick settings * menu of Element Web/Desktop. @@ -279,6 +285,18 @@ data class Interaction( */ WebRoomListRoomsSublistPlusMenuExploreRoomsItem, + /** + * User clicked on the button to return to the user onboarding list in + * the room list in Element Web/Desktop. + */ + WebRoomListUserOnboardingButton, + + /** + * User clicked on the button to close the user onboarding button in the + * room list in Element Web/Desktop. + */ + WebRoomListUserOnboardingIgnoreButton, + /** * User interacted with leave action in the general tab of the room * settings dialog in Element Web/Desktop. @@ -349,6 +367,36 @@ data class Interaction( * Web/Desktop. */ WebUserMenuThemeToggleButton, + + /** + * User clicked on the send DM CTA in the header of the new user + * onboarding page in Element Web/Desktop. + */ + WebUserOnboardingHeaderSendDm, + + /** + * User clicked on the action of the download apps task on the new user + * onboarding page in Element Web/Desktop. + */ + WebUserOnboardingTaskDownloadApps, + + /** + * User clicked on the action of the enable notifications task on the + * new user onboarding page in Element Web/Desktop. + */ + WebUserOnboardingTaskEnableNotifications, + + /** + * User clicked on the action of the find people task on the new user + * onboarding page in Element Web/Desktop. + */ + WebUserOnboardingTaskSendDm, + + /** + * User clicked on the action of the your profile task on the new user + * onboarding page in Element Web/Desktop. + */ + WebUserOnboardingTaskSetupProfile, } enum class InteractionType { diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/PermissionChanged.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/PermissionChanged.kt new file mode 100644 index 0000000000..9f463a4107 --- /dev/null +++ b/vector/src/main/java/im/vector/app/features/analytics/plan/PermissionChanged.kt @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.app.features.analytics.plan + +import im.vector.app.features.analytics.itf.VectorAnalyticsEvent + +// GENERATED FILE, DO NOT EDIT. FOR MORE INFORMATION VISIT +// https://github.com/matrix-org/matrix-analytics-events/ + +/** + * Triggered when the user changes a permission status. + */ +data class PermissionChanged( + /** + * Whether the permission has been granted by the user. + */ + val granted: Boolean, + /** + * The name of the permission. + */ + val permission: Permission, +) : VectorAnalyticsEvent { + + enum class Permission { + /** + * Permissions related to sending notifications have changed. + */ + Notification, + } + + override fun getName() = "PermissionChanged" + + override fun getProperties(): Map? { + return mutableMapOf().apply { + put("granted", granted) + put("permission", permission.name) + }.takeIf { it.isNotEmpty() } + } +} diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt index d2f30eec9b..f6a724304b 100644 --- a/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt +++ b/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt @@ -152,6 +152,11 @@ data class ViewRoom( */ RoomList, + /** + * Room accessed via a shortcut. + */ + Shortcut, + /** * Room accessed via a slash command in Element Web/Desktop like /goto. */ From 6a62fb1d84bb18c7d4530a27feb1608be61e6ca5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 17 Aug 2022 16:29:43 +0200 Subject: [PATCH 36/63] Use new analytics value `ViewRoom.Trigger.Shortcut` --- vector/src/main/java/im/vector/app/features/MainActivity.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/MainActivity.kt b/vector/src/main/java/im/vector/app/features/MainActivity.kt index 14fae80325..e1e7764f19 100644 --- a/vector/src/main/java/im/vector/app/features/MainActivity.kt +++ b/vector/src/main/java/im/vector/app/features/MainActivity.kt @@ -38,6 +38,7 @@ import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.utils.deleteAllFiles import im.vector.app.databinding.ActivityMainBinding import im.vector.app.features.analytics.VectorAnalytics +import im.vector.app.features.analytics.plan.ViewRoom import im.vector.app.features.home.HomeActivity import im.vector.app.features.home.ShortcutsHandler import im.vector.app.features.notifications.NotificationDrawerManager @@ -186,8 +187,7 @@ class MainActivity : VectorBaseActivity(), UnlockedActivity } else if (intent.action == ACTION_ROOM_DETAILS_FROM_SHORTCUT) { val roomId = intent.getStringExtra(EXTRA_ROOM_ID) if (roomId?.isNotEmpty() == true) { - // TODO Add a trigger Shortcut to the analytics. - navigator.openRoom(this, roomId) + navigator.openRoom(this, roomId, trigger = ViewRoom.Trigger.Shortcut) } finish() } else { From 32bfaf886807da47cada5d9ca201d118c06d44ef Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 22 Aug 2022 16:16:27 +0200 Subject: [PATCH 37/63] Fix crash when signing out. At this point, we do not want the sync to start, the DB is already deleted. --- .../main/java/im/vector/app/core/di/ActiveSessionHolder.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vector/src/main/java/im/vector/app/core/di/ActiveSessionHolder.kt b/vector/src/main/java/im/vector/app/core/di/ActiveSessionHolder.kt index bb2ca97aad..3f0507305a 100644 --- a/vector/src/main/java/im/vector/app/core/di/ActiveSessionHolder.kt +++ b/vector/src/main/java/im/vector/app/core/di/ActiveSessionHolder.kt @@ -70,7 +70,7 @@ class ActiveSessionHolder @Inject constructor( suspend fun clearActiveSession() { // Do some cleanup first - getSafeActiveSession()?.let { + getSafeActiveSession(startSync = false)?.let { Timber.w("clearActiveSession of ${it.myUserId}") it.callSignalingService().removeCallListener(callManager) it.removeListener(sessionListener) @@ -91,8 +91,8 @@ class ActiveSessionHolder @Inject constructor( return activeSessionReference.get() != null || authenticationService.hasAuthenticatedSessions() } - fun getSafeActiveSession(): Session? { - return runBlocking { getOrInitializeSession(startSync = true) } + fun getSafeActiveSession(startSync: Boolean = true): Session? { + return runBlocking { getOrInitializeSession(startSync = startSync) } } fun getActiveSession(): Session { From cdf75be0ec07de230f4e0332bfca73f04d4fccbc Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Fri, 19 Aug 2022 12:24:20 +0100 Subject: [PATCH 38/63] redirecting to the edit server screen when attempting to select the initial homeserver choice and it fails --- .../onboarding/OnboardingViewModel.kt | 10 +++-- ...FtueAuthCombinedServerSelectionFragment.kt | 2 +- .../onboarding/ftueauth/FtueAuthVariant.kt | 37 +++++++++++++++---- 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt index e60bedc612..987d3f38a2 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt @@ -701,9 +701,8 @@ class OnboardingViewModel @AssistedInject constructor( private fun onAuthenticationStartError(error: Throwable, trigger: OnboardingAction.HomeServerChange) { when { - error.isHomeserverUnavailable() && applicationContext.inferNoConnectivity(sdkIntProvider) -> _viewEvents.post( - OnboardingViewEvents.Failure(error) - ) + error.isHomeserverUnavailable() && applicationContext.inferNoConnectivity(sdkIntProvider) -> _viewEvents.post(OnboardingViewEvents.Failure(error)) + isUnableToSelectServer(error, trigger) -> handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.EditServerSelection)) deeplinkUrlIsUnavailable(error, trigger) -> _viewEvents.post( OnboardingViewEvents.DeeplinkAuthenticationFailure( retryAction = (trigger as OnboardingAction.HomeServerChange.SelectHomeServer).resetToDefaultUrl() @@ -716,6 +715,9 @@ class OnboardingViewModel @AssistedInject constructor( } } + private fun isUnableToSelectServer(error: Throwable, trigger: OnboardingAction.HomeServerChange) = + trigger is OnboardingAction.HomeServerChange.SelectHomeServer && error.isHomeserverUnavailable() + private fun deeplinkUrlIsUnavailable(error: Throwable, trigger: OnboardingAction.HomeServerChange) = error.isHomeserverUnavailable() && loginConfig != null && trigger is OnboardingAction.HomeServerChange.SelectHomeServer @@ -807,6 +809,8 @@ class OnboardingViewModel @AssistedInject constructor( return loginConfig?.homeServerUrl } + fun getDefaultHomeserverUrl() = defaultHomeserverUrl + fun fetchSsoUrl(redirectUrl: String, deviceId: String?, provider: SsoIdentityProvider?): String? { setState { val authDescription = AuthenticationDescription.Register(provider.toAuthenticationType()) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt index 749aac2898..2563c1d777 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt @@ -86,7 +86,7 @@ class FtueAuthCombinedServerSelectionFragment @Inject constructor() : AbstractFt ) if (views.chooseServerInput.content().isEmpty()) { - val userUrlInput = state.selectedHomeserver.userFacingUrl?.toReducedUrlKeepingSchemaIfInsecure() + val userUrlInput = state.selectedHomeserver.userFacingUrl?.toReducedUrlKeepingSchemaIfInsecure() ?: viewModel.getDefaultHomeserverUrl() views.chooseServerInput.editText().setText(userUrlInput) } } diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt index 601d577e02..96a3ed3f65 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt @@ -46,6 +46,7 @@ import im.vector.app.features.login.SignMode import im.vector.app.features.login.TextInputFormFragmentMode import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingActivity +import im.vector.app.features.onboarding.OnboardingFlow import im.vector.app.features.onboarding.OnboardingVariant import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewModel @@ -213,7 +214,7 @@ class FtueAuthVariant( option = commonOption ) } - OnboardingViewEvents.OpenCombinedRegister -> openStartCombinedRegister() + OnboardingViewEvents.OpenCombinedRegister -> onStartCombinedRegister() is OnboardingViewEvents.OnAccountCreated -> onAccountCreated() OnboardingViewEvents.OnAccountSignedIn -> onAccountSignedIn() OnboardingViewEvents.OnChooseDisplayName -> onChooseDisplayName() @@ -229,21 +230,43 @@ class FtueAuthVariant( tag = FRAGMENT_EDIT_HOMESERVER_TAG ) } - OnboardingViewEvents.OnHomeserverEdited -> supportFragmentManager.popBackStack( - FRAGMENT_EDIT_HOMESERVER_TAG, - FragmentManager.POP_BACK_STACK_INCLUSIVE - ) + OnboardingViewEvents.OnHomeserverEdited -> { + supportFragmentManager.popBackStack( + FRAGMENT_EDIT_HOMESERVER_TAG, + FragmentManager.POP_BACK_STACK_INCLUSIVE + ) + ensureEditServerBackstack() + } OnboardingViewEvents.OpenCombinedLogin -> onStartCombinedLogin() is OnboardingViewEvents.DeeplinkAuthenticationFailure -> onDeeplinkedHomeserverUnavailable(viewEvents) OnboardingViewEvents.DisplayRegistrationFallback -> displayFallbackWebDialog() is OnboardingViewEvents.DisplayRegistrationStage -> doStage(viewEvents.stage) OnboardingViewEvents.DisplayStartRegistration -> when { - vectorFeatures.isOnboardingCombinedRegisterEnabled() -> openStartCombinedRegister() + vectorFeatures.isOnboardingCombinedRegisterEnabled() -> onStartCombinedRegister() else -> openAuthLoginFragmentWithTag(FRAGMENT_REGISTRATION_STAGE_TAG) } } } + private fun ensureEditServerBackstack() { + when (activity.supportFragmentManager.findFragmentById(views.loginFragmentContainer.id)) { + is FtueAuthCombinedLoginFragment, + is FtueAuthCombinedRegisterFragment -> { + // do nothing + } + else -> { + withState(onboardingViewModel) { state -> + when (state.onboardingFlow) { + OnboardingFlow.SignIn -> onStartCombinedLogin() + OnboardingFlow.SignUp -> onStartCombinedRegister() + OnboardingFlow.SignInSignUp, + null -> error("${state.onboardingFlow} does not support editing server url") + } + } + } + } + } + private fun onDeeplinkedHomeserverUnavailable(viewEvents: OnboardingViewEvents.DeeplinkAuthenticationFailure) { showHomeserverUnavailableDialog(onboardingViewModel.getInitialHomeServerUrl().orEmpty()) { onboardingViewModel.handle(OnboardingAction.ResetDeeplinkConfig) @@ -264,7 +287,7 @@ class FtueAuthVariant( addRegistrationStageFragmentToBackstack(FtueAuthCombinedLoginFragment::class.java, allowStateLoss = true) } - private fun openStartCombinedRegister() { + private fun onStartCombinedRegister() { addRegistrationStageFragmentToBackstack(FtueAuthCombinedRegisterFragment::class.java, allowStateLoss = true) } From 4cc0b81c8642c7aa9d3870071e52948488b30d8f Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Fri, 19 Aug 2022 12:25:26 +0100 Subject: [PATCH 39/63] removing deeplink error handling as its now covered by the edit server flow instead --- .../onboarding/OnboardingViewEvents.kt | 1 - .../onboarding/OnboardingViewModel.kt | 11 ---------- .../onboarding/ftueauth/FtueAuthVariant.kt | 17 --------------- .../onboarding/OnboardingViewModelTest.kt | 21 ------------------- 4 files changed, 50 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewEvents.kt b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewEvents.kt index 1441152128..dcf6521499 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewEvents.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewEvents.kt @@ -29,7 +29,6 @@ import org.matrix.android.sdk.api.failure.Failure as SdkFailure sealed class OnboardingViewEvents : VectorViewEvents { data class Loading(val message: CharSequence? = null) : OnboardingViewEvents() data class Failure(val throwable: Throwable) : OnboardingViewEvents() - data class DeeplinkAuthenticationFailure(val retryAction: OnboardingAction) : OnboardingViewEvents() data class UnrecognisedCertificateFailure(val retryAction: OnboardingAction, val cause: SdkFailure.UnrecognizedCertificateFailure) : OnboardingViewEvents() object DisplayRegistrationFallback : OnboardingViewEvents() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt index 987d3f38a2..9fb82380b3 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt @@ -703,11 +703,6 @@ class OnboardingViewModel @AssistedInject constructor( when { error.isHomeserverUnavailable() && applicationContext.inferNoConnectivity(sdkIntProvider) -> _viewEvents.post(OnboardingViewEvents.Failure(error)) isUnableToSelectServer(error, trigger) -> handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.EditServerSelection)) - deeplinkUrlIsUnavailable(error, trigger) -> _viewEvents.post( - OnboardingViewEvents.DeeplinkAuthenticationFailure( - retryAction = (trigger as OnboardingAction.HomeServerChange.SelectHomeServer).resetToDefaultUrl() - ) - ) error.isUnrecognisedCertificate() -> { _viewEvents.post(OnboardingViewEvents.UnrecognisedCertificateFailure(trigger, error as Failure.UnrecognizedCertificateFailure)) } @@ -718,12 +713,6 @@ class OnboardingViewModel @AssistedInject constructor( private fun isUnableToSelectServer(error: Throwable, trigger: OnboardingAction.HomeServerChange) = trigger is OnboardingAction.HomeServerChange.SelectHomeServer && error.isHomeserverUnavailable() - private fun deeplinkUrlIsUnavailable(error: Throwable, trigger: OnboardingAction.HomeServerChange) = error.isHomeserverUnavailable() && - loginConfig != null && - trigger is OnboardingAction.HomeServerChange.SelectHomeServer - - private fun OnboardingAction.HomeServerChange.SelectHomeServer.resetToDefaultUrl() = copy(homeServerUrl = defaultHomeserverUrl) - private suspend fun onAuthenticationStartedSuccess( trigger: OnboardingAction.HomeServerChange, config: HomeServerConnectionConfig, diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt index 96a3ed3f65..f3767aa546 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt @@ -238,7 +238,6 @@ class FtueAuthVariant( ensureEditServerBackstack() } OnboardingViewEvents.OpenCombinedLogin -> onStartCombinedLogin() - is OnboardingViewEvents.DeeplinkAuthenticationFailure -> onDeeplinkedHomeserverUnavailable(viewEvents) OnboardingViewEvents.DisplayRegistrationFallback -> displayFallbackWebDialog() is OnboardingViewEvents.DisplayRegistrationStage -> doStage(viewEvents.stage) OnboardingViewEvents.DisplayStartRegistration -> when { @@ -267,22 +266,6 @@ class FtueAuthVariant( } } - private fun onDeeplinkedHomeserverUnavailable(viewEvents: OnboardingViewEvents.DeeplinkAuthenticationFailure) { - showHomeserverUnavailableDialog(onboardingViewModel.getInitialHomeServerUrl().orEmpty()) { - onboardingViewModel.handle(OnboardingAction.ResetDeeplinkConfig) - onboardingViewModel.handle(viewEvents.retryAction) - } - } - - private fun showHomeserverUnavailableDialog(url: String, action: () -> Unit) { - MaterialAlertDialogBuilder(activity) - .setTitle(R.string.dialog_title_error) - .setMessage(activity.getString(R.string.login_error_homeserver_from_url_not_found, url)) - .setPositiveButton(R.string.login_error_homeserver_from_url_not_found_enter_manual) { _, _ -> action() } - .setNegativeButton(R.string.action_cancel, null) - .show() - } - private fun onStartCombinedLogin() { addRegistrationStageFragmentToBackstack(FtueAuthCombinedLoginFragment::class.java, allowStateLoss = true) } diff --git a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt index cee8f3622c..c1b2439227 100644 --- a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt +++ b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt @@ -411,27 +411,6 @@ class OnboardingViewModelTest { .finish() } - @Test - fun `given unavailable deeplink, when selecting homeserver, then emits failure with default homeserver as retry action`() = runTest { - fakeContext.givenHasConnection() - fakeHomeServerConnectionConfigFactory.givenConfigFor(A_HOMESERVER_URL, fingerprint = null, A_HOMESERVER_CONFIG) - fakeStartAuthenticationFlowUseCase.givenHomeserverUnavailable(A_HOMESERVER_CONFIG) - val test = viewModel.test() - - viewModel.handle(OnboardingAction.InitWith(LoginConfig(A_HOMESERVER_URL, null))) - viewModel.handle(OnboardingAction.HomeServerChange.SelectHomeServer(A_HOMESERVER_URL)) - - val expectedRetryAction = OnboardingAction.HomeServerChange.SelectHomeServer("${R.string.matrix_org_server_url.toTestString()}/") - test - .assertStatesChanges( - initialState, - { copy(isLoading = true) }, - { copy(isLoading = false) } - ) - .assertEvents(OnboardingViewEvents.DeeplinkAuthenticationFailure(expectedRetryAction)) - .finish() - } - @Test fun `given in the sign up flow, when editing homeserver, then updates selected homeserver state and emits edited event`() = runTest { viewModelWith(initialState.copy(onboardingFlow = OnboardingFlow.SignUp)) From b50b6daca19a72ce27791df5a53caeea259ca574 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Fri, 19 Aug 2022 12:44:01 +0100 Subject: [PATCH 40/63] using wider range network error when deciding to forward to the edit server instead of just unknown host - will also capture timeouts --- .../matrix/android/sdk/api/failure/Extensions.kt | 2 ++ .../features/onboarding/OnboardingViewModel.kt | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt index 429d346a1b..5b41ddaaec 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt @@ -89,6 +89,8 @@ fun Throwable.isInvalidUIAAuth() = this is Failure.ServerError && fun Throwable.isHomeserverUnavailable() = this is Failure.NetworkConnection && this.ioException is UnknownHostException +fun Throwable.isHomeserverConnectionError() = this is Failure.NetworkConnection + fun Throwable.isMissingEmailVerification() = this is Failure.ServerError && error.code == MatrixError.M_UNAUTHORIZED && error.message == "Unable to get validated threepid" diff --git a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt index 9fb82380b3..9661feb002 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt @@ -61,6 +61,7 @@ import org.matrix.android.sdk.api.auth.login.LoginWizard import org.matrix.android.sdk.api.auth.registration.RegistrationAvailability import org.matrix.android.sdk.api.auth.registration.RegistrationWizard import org.matrix.android.sdk.api.failure.Failure +import org.matrix.android.sdk.api.failure.isHomeserverConnectionError import org.matrix.android.sdk.api.failure.isHomeserverUnavailable import org.matrix.android.sdk.api.failure.isUnrecognisedCertificate import org.matrix.android.sdk.api.network.ssl.Fingerprint @@ -702,7 +703,14 @@ class OnboardingViewModel @AssistedInject constructor( private fun onAuthenticationStartError(error: Throwable, trigger: OnboardingAction.HomeServerChange) { when { error.isHomeserverUnavailable() && applicationContext.inferNoConnectivity(sdkIntProvider) -> _viewEvents.post(OnboardingViewEvents.Failure(error)) - isUnableToSelectServer(error, trigger) -> handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.EditServerSelection)) + isUnableToSelectServer(error, trigger) -> { + withState { state -> + when { + canEditServerSelectionError(state) -> handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.EditServerSelection)) + else -> _viewEvents.post(OnboardingViewEvents.Failure(error)) + } + } + } error.isUnrecognisedCertificate() -> { _viewEvents.post(OnboardingViewEvents.UnrecognisedCertificateFailure(trigger, error as Failure.UnrecognizedCertificateFailure)) } @@ -710,8 +718,12 @@ class OnboardingViewModel @AssistedInject constructor( } } + private fun canEditServerSelectionError(state: OnboardingViewState) = + (state.onboardingFlow == OnboardingFlow.SignIn && vectorFeatures.isOnboardingCombinedLoginEnabled()) || + (state.onboardingFlow == OnboardingFlow.SignUp && vectorFeatures.isOnboardingCombinedRegisterEnabled()) + private fun isUnableToSelectServer(error: Throwable, trigger: OnboardingAction.HomeServerChange) = - trigger is OnboardingAction.HomeServerChange.SelectHomeServer && error.isHomeserverUnavailable() + trigger is OnboardingAction.HomeServerChange.SelectHomeServer && error.isHomeserverConnectionError() private suspend fun onAuthenticationStartedSuccess( trigger: OnboardingAction.HomeServerChange, From d7bc43584d52f442ea9a9d92f1004127a9f59098 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Fri, 19 Aug 2022 13:03:59 +0100 Subject: [PATCH 41/63] adding tests around forwarding to the edit server selection when the initial server selection fails --- .../onboarding/OnboardingViewModelTest.kt | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt index c1b2439227..0e4a4704b9 100644 --- a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt +++ b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt @@ -411,6 +411,63 @@ class OnboardingViewModelTest { .finish() } + @Test + fun `given in sign in flow, when selecting homeserver fails with network error, then emits Failure`() = runTest { + viewModelWith(initialState.copy(onboardingFlow = OnboardingFlow.SignIn)) + fakeVectorFeatures.givenCombinedLoginEnabled() + givenHomeserverSelectionFailsWith(AN_ERROR) + val test = viewModel.test() + + viewModel.handle(OnboardingAction.HomeServerChange.SelectHomeServer(A_HOMESERVER_URL)) + + test + .assertStatesChanges( + initialState, + { copy(isLoading = true) }, + { copy(isLoading = false) } + ) + .assertEvents(OnboardingViewEvents.Failure(AN_ERROR)) + .finish() + } + + @Test + fun `given in sign in flow, when selecting homeserver fails with network error, then emits EditServerSelection`() = runTest { + viewModelWith(initialState.copy(onboardingFlow = OnboardingFlow.SignIn)) + fakeVectorFeatures.givenCombinedLoginEnabled() + givenHomeserverSelectionFailsWithNetworkError() + val test = viewModel.test() + + viewModel.handle(OnboardingAction.HomeServerChange.SelectHomeServer(A_HOMESERVER_URL)) + + test + .assertStatesChanges( + initialState, + { copy(isLoading = true) }, + { copy(isLoading = false) } + ) + .assertEvents(OnboardingViewEvents.EditServerSelection) + .finish() + } + + @Test + fun `given in sign up flow, when selecting homeserver fails with network error, then emits EditServerSelection`() = runTest { + viewModelWith(initialState.copy(onboardingFlow = OnboardingFlow.SignUp)) + fakeVectorFeatures.givenCombinedRegisterEnabled() + givenHomeserverSelectionFailsWithNetworkError() + val test = viewModel.test() + + viewModel.handle(OnboardingAction.HomeServerChange.SelectHomeServer(A_HOMESERVER_URL)) + + test + .assertStatesChanges( + initialState, + { copy(isLoading = true) }, + { copy(isLoading = false) } + ) + .assertEvents(OnboardingViewEvents.EditServerSelection) + .finish() + } + @Test fun `given in the sign up flow, when editing homeserver, then updates selected homeserver state and emits edited event`() = runTest { viewModelWith(initialState.copy(onboardingFlow = OnboardingFlow.SignUp)) @@ -1121,6 +1178,18 @@ class OnboardingViewModelTest { private fun initialRegistrationState(homeServerUrl: String) = initialState.copy( onboardingFlow = OnboardingFlow.SignUp, selectedHomeserver = SelectedHomeserverState(userFacingUrl = homeServerUrl) ) + + private fun givenHomeserverSelectionFailsWithNetworkError() { + fakeContext.givenHasConnection() + fakeHomeServerConnectionConfigFactory.givenConfigFor(A_HOMESERVER_URL, fingerprint = null, A_HOMESERVER_CONFIG) + fakeStartAuthenticationFlowUseCase.givenHomeserverUnavailable(A_HOMESERVER_CONFIG) + } + + private fun givenHomeserverSelectionFailsWith(cause: Throwable) { + fakeContext.givenHasConnection() + fakeHomeServerConnectionConfigFactory.givenConfigFor(A_HOMESERVER_URL, fingerprint = null, A_HOMESERVER_CONFIG) + fakeStartAuthenticationFlowUseCase.givenErrors(A_HOMESERVER_CONFIG, cause) + } } private fun HomeServerCapabilities.toPersonalisationState(displayName: String? = null) = PersonalizationState( From 8336d4c269f4db8ddedf82eed252e95ce65d90bc Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Fri, 19 Aug 2022 13:06:04 +0100 Subject: [PATCH 42/63] adding changelog entry --- changelog.d/6718.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/6718.bugfix diff --git a/changelog.d/6718.bugfix b/changelog.d/6718.bugfix new file mode 100644 index 0000000000..a7c4c503c7 --- /dev/null +++ b/changelog.d/6718.bugfix @@ -0,0 +1 @@ +Fixes onboarding requiring matrix.org to be accessible on the first step, the server can now be manually changed From 0d38ace8ca1a43982170d56e1730a1c2d8fb53ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 23:07:54 +0000 Subject: [PATCH 43/63] Bump danger/danger-js from 11.1.1 to 11.1.2 Bumps [danger/danger-js](https://github.com/danger/danger-js) from 11.1.1 to 11.1.2. - [Release notes](https://github.com/danger/danger-js/releases) - [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/danger/danger-js/compare/11.1.1...11.1.2) --- updated-dependencies: - dependency-name: danger/danger-js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/danger.yml | 2 +- .github/workflows/quality.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index d36f2d0765..8a892b9b15 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -11,7 +11,7 @@ jobs: - run: | npm install --save-dev @babel/plugin-transform-flow-strip-types - name: Danger - uses: danger/danger-js@11.1.1 + uses: danger/danger-js@11.1.2 with: args: "--dangerfile tools/danger/dangerfile.js" env: diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 544d9081f8..70669596bb 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -66,7 +66,7 @@ jobs: yarn add danger-plugin-lint-report --dev - name: Danger lint if: always() - uses: danger/danger-js@11.1.1 + uses: danger/danger-js@11.1.2 with: args: "--dangerfile tools/danger/dangerfile-lint.js" env: From 12f4a0574513b4f8f2f29630e23fccf78653f928 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 23:07:56 +0000 Subject: [PATCH 44/63] Bump dependency-check-gradle from 7.1.1 to 7.1.2 Bumps dependency-check-gradle from 7.1.1 to 7.1.2. --- updated-dependencies: - dependency-name: org.owasp:dependency-check-gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 38cbc3af0f..aa8a3e2c4c 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ buildscript { classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.4.0.2513' classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5' classpath "com.likethesalad.android:stem-plugin:2.1.1" - classpath 'org.owasp:dependency-check-gradle:7.1.1' + classpath 'org.owasp:dependency-check-gradle:7.1.2' classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.10" classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0" // NOTE: Do not place your application dependencies here; they belong From 692f04496b1f4e3d74b409fb93e814149c8913d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Metehan=20=C3=96zy=C3=BCrek?= Date: Mon, 22 Aug 2022 20:56:13 +0000 Subject: [PATCH 45/63] Translated using Weblate (Turkish) Currently translated at 66.2% (1544 of 2330 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/tr/ --- vector/src/main/res/values-tr/strings.xml | 41 ++--------------------- 1 file changed, 3 insertions(+), 38 deletions(-) diff --git a/vector/src/main/res/values-tr/strings.xml b/vector/src/main/res/values-tr/strings.xml index b3c2895b9a..ddc226c1ab 100644 --- a/vector/src/main/res/values-tr/strings.xml +++ b/vector/src/main/res/values-tr/strings.xml @@ -26,7 +26,6 @@ Sil Yeniden Adlandır Rapor İçeriği - veya Davet et Oturumu kapat @@ -49,7 +48,6 @@ Sadece Matrix kullanıcıları Sonuç bulunamadı Odalar - Topluluk Sistem günlüğünü (log) gönder Çökme günlüğünü (crash log) gönder @@ -106,7 +104,6 @@ Yeni şifreli mesaj anahtarları Anahtar Yedekleme\'yi Yönet Şifrelenmiş mesajları asla kaybetmeyin - Yedek siliniyor… Yedeği Sil Yedeklenmiş şifreleme anahtarlarınız sunucudan silinsin mi? Bundan sonra şifrelenmiş mesaj geçmişini okumak için kurtarma anahtarınızı kullanamayacaksınız. @@ -117,11 +114,9 @@ Bu, geçerli bir e-posta adresi gibi gözükmüyor Bu e-posta adresi zaten tanımlanmış. Şifreni mi unuttun\? - Bu ana sunucu bir robot olmadığından emin olmak istiyor Hesaba bağlı e-posta adresi mutlaka girilmeli. E-posta doğrulaması başarısız: e-postanızdaki bağlantıya tıkladığınızdan emin olun - Lütfen ana sunucunun ilkelerini gözden geçirin ve kabul edin: Lütfen geçerli bir URL girin Hatalı JSON @@ -150,14 +145,10 @@ Görüntülü Çağrıda… Uzak sunucu alınamadı. Bilgilendirme - - ${app_name}\'in sesli arama yapması için mikrofonunuza erişmeye ihtiyacı var. - ${app_name}\'in görüntülü arama yapması için kameranıza ve mikrofonunuza erişmeye ihtiyacı var. \n \nLütfen çıkacak ekranda kamera ve mikrofon erişimine izin verin. - EVET HAYIR Devam et @@ -165,16 +156,10 @@ Katıl Reddet Üyeleri Listele - - %d üye %d adet üye - - - - Odadan ayrıl Odadan ayrılmak istediğine emin misin\? DİREKT SOHBETLER @@ -211,12 +196,9 @@ %d adet seçili %d adet seçili - Bul Oda üyelerini filtrele Sonuç bulunamadı - - Tüm mesajlar Ana ekrana ekle Profil Resmi @@ -347,7 +329,6 @@ Medyayı göndermeden önce önizleme göster Hesabı devre dışı bırak Hesabımı devre dışı bırak - Analitik Analitik verilerini gönder ${app_name} uygulamayı geliştirmemiz için anonim analitik veriler toplar. @@ -356,7 +337,6 @@ Görünür Adı Güncelle Son görülme %1$s @ %2$s - Yetkilendirme Olarak giriş yaptın Ana Sunucu @@ -395,7 +375,6 @@ Bu deneysel özellikler beklenmeyen şekilde hata verebilir. Dikkatli kullanın. Ana adres olarak ayarla Ana adres olarak ayarlanmadı - Tema Çözme hatası Görünür Ad @@ -406,7 +385,6 @@ Anahtarları yerel dosyaya aktar Dışa aktar Lütfen dışa aktarılmış anahtarları şifrelemek için parola oluşturun. Tekrar içe aktarmak için aynı parolayı girmeniz gerekli. - Şifrelenmiş Mesajları Kurtarma Anahtar yedeklemesini yönet E2E oda anahtarlarını içe aktar @@ -420,7 +398,6 @@ Doğrula Bu oturumun güvenilir olduğunu doğrulamak için, lütfen sahibi ile iletişime geçin (örn. yüz yüze ya da telefonla arama) ve onlara Kullanıcı Ayarları altında hangi anahtarın aşağıdaki anahtar ile uyuştuğunu sorun: Eğer uyuşursa aşağıdaki doğrulama tuşuna basın. Eğer uyuşmaz ise biri bu oturum engelliyor demektir bu durumda sen o kişi karalisteye eklemelisin. Gelecekte doğrulama işlemi daha gelişmiş olacak. - Bir oda dizini seç Ana sunucu URL %s sunucusundaki tüm odalar @@ -429,7 +406,6 @@ %d okunmamış bildirim mesajı %d okunmamış bildirim mesajları - %d oda %d odalar @@ -489,8 +465,6 @@ Anasayfa Odalar Davet edildi - - %1$s dan/den %2$s tarafından atıldın %1$s dan/den %2$s tarafından engellendin Nedeni: %1$s @@ -556,7 +530,6 @@ Kurtarma Anahtarını Kaydet Paylaş Dosya olarak farklı kaydet - Lütfen bir kopya oluşturun Kurtarma anahtarını bununla paylaş… Parola kullanılarak Kurtarma anahtarı oluşturuluyor bu işlem birkaç saniye sürecek. @@ -616,14 +589,12 @@ Tek oturum açma ile giriş yap Enter ile mesaj gönder Klavyedeki Enter tuşuna bastığında alt satıra geçmek yerine mesajı gönder - ${app_name}, cihazın sınırlı kaynaklarını (pil) koruyacak şekilde arka planda senkronize olur. \nCihazınızın kaynak durumuna bağlı olarak, senkronizasyon işletim sistemi tarafından ertelenebilir. Gerçek zamanlı için optimize ${app_name} periyodik olarak belirli bir zamanda (ayarlanabilir) arka planda senkronize olur. \nBu pil ve radyo kullanımını etkileyecek ve ${app_name}\'in olayları dinlediğini belirten kalıcı bir bildirim gösterecektir. Arka plan senkronizasyonu yok - Entegrasyonlar Botları, köprüleri, widget\'ları ve çıkartma paketlerini yönetmek için bir entegrasyon yöneticisi kullanın. \n Entegrasyon yöneticileri, yapılandırma verilerini alır ve widget\'ları değiştirebilir, oda davetleri gönderebilir ve sizin adınıza güç seviyeleri ayarlayabilir. @@ -693,11 +664,8 @@ Değiştir Dur Yedek durumu kontrol ediliyor - Doğrulandı! Anlaşıldı - - Doğrulama Talebi %s oturumunu doğrulamak istiyor Bilinmeyen Hata @@ -1055,7 +1023,6 @@ Ek gönder Onay kodu doğru değil. Kod - Kimlik sunucunuzdan ayrılmanız, diğer kullanıcılar tarafından keşfedilemeyeceğiniz ve başkalarını e-posta ya da telefonla davet edemeyeceğiniz anlamına gelir. Henüz bir kimlik sunucusu kullanmıyorsunuz. Tanıdığınız mevcut kişileri bulmak ve bu kişiler tarafından görünür olmak için aşağıdakilerden birini yapılandırın. Kimlik sunucusunu değiştir @@ -1414,7 +1381,6 @@ İlk senkronizasyon: \nSunucu yanıtı bekleniyor… Boş oda (%s idi) - %1$s, %2$s, %3$s ve %4$d diğer %1$s, %2$s, %3$s ve %4$d kişi daha @@ -1640,7 +1606,6 @@ Spoiler Verilen mesajı spoiler olarak gönderir Tüm mesajlar (gürültülü) - Bu içerik rapor edildi. \n \n Bu kullanıcıdan daha fazla içerik görmek istemiyorsanız, mesajlarını gizlemek için onları yok sayabilirsiniz. @@ -1673,7 +1638,6 @@ Lütfen kimlik sunucusu url\'sini girin Bu bilgiyi göndermeyi kabul ediyor musunuz\? Mevcut kişileri keşfetmek için, iletişim bilgilerini (e-postalar ve telefon numaraları) kimlik sunucunuza göndermeniz gerekir. Gizlilik için göndermeden önce verilerinizi hash ederiz. - %s\'e e-posta ve telefon numarası gönder Kişileriniz özeldir. Kişilerinizden kullanıcıları keşfetmek için, kimlik sunucunuza iletişim bilgilerini göndermek için izninize ihtiyacımız var. Size %s adresine bir onay e-postası gönderdik, lütfen önce e-postanızı kontrol edin ve onay bağlantısını tıklayın @@ -1746,7 +1710,6 @@ \nMesajlarınız şifrelerle korunur ve yalnızca siz ve alıcı, mesajların kilidini açmak için benzersiz anahtarlara sahip olursunuz. Buradaki mesajlar uçtan uca şifrelenmez. Bu odadaki mesajlar uçtan uca şifrelenmez. - %s bekleniyor… %s doğrulandı %s\'yi doğrula @@ -1774,4 +1737,6 @@ Konu bağlantısını kopyala Odada görüntüle Konuları Görüntüle - + Başlangıç eşitleme isteği + Tüm Sohbetler + \ No newline at end of file From caf3308ea7c83844fbef15d5a44d5fe9cb9fb5fe Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 11:24:54 +0200 Subject: [PATCH 46/63] Fix lint issue --- vector/src/main/res/values-pt-rBR/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vector/src/main/res/values-pt-rBR/strings.xml b/vector/src/main/res/values-pt-rBR/strings.xml index 18a8e3d490..f8a1fdeaa5 100644 --- a/vector/src/main/res/values-pt-rBR/strings.xml +++ b/vector/src/main/res/values-pt-rBR/strings.xml @@ -2576,7 +2576,7 @@ URL de servidor Qual é o endereço de seu servidor\? Isto é como uma casa para todos os seus dados Selecionar seu servidor - Boas vindas de volta! + Boas-vindas de volta! Editar Ou Onde suas conversas vão viver @@ -2607,4 +2607,4 @@ \nEste servidor casa pode não estar configurado para exibir mapas. Abrir configurações Todos os Chats - \ No newline at end of file + From 9e0340bbeaec129b5b295bab07ec315ab19da9db Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 12:13:40 +0200 Subject: [PATCH 47/63] Remove unused strings --- vector/src/main/res/values-ar/strings.xml | 8 +------- vector/src/main/res/values-az/strings.xml | 4 +--- .../src/main/res/values-b+sr+Latn/strings.xml | 2 -- vector/src/main/res/values-bg/strings.xml | 5 ----- vector/src/main/res/values-bn-rBD/strings.xml | 5 ----- vector/src/main/res/values-bn-rIN/strings.xml | 6 ------ vector/src/main/res/values-bs/strings.xml | 3 +-- vector/src/main/res/values-ca/strings.xml | 9 +-------- vector/src/main/res/values-cs/strings.xml | 9 +-------- vector/src/main/res/values-da/strings.xml | 4 +--- vector/src/main/res/values-de/strings.xml | 9 +-------- vector/src/main/res/values-el/strings.xml | 3 +-- vector/src/main/res/values-eo/strings.xml | 5 ----- vector/src/main/res/values-es-rMX/strings.xml | 4 +--- vector/src/main/res/values-es/strings.xml | 7 ------- vector/src/main/res/values-et/strings.xml | 9 +-------- vector/src/main/res/values-eu/strings.xml | 10 ---------- vector/src/main/res/values-fa/strings.xml | 9 +-------- vector/src/main/res/values-fi/strings.xml | 6 ------ vector/src/main/res/values-fr-rCA/strings.xml | 5 ----- vector/src/main/res/values-fr/strings.xml | 9 +-------- vector/src/main/res/values-fy/strings.xml | 5 ----- vector/src/main/res/values-ga/strings.xml | 3 +-- vector/src/main/res/values-gl/strings.xml | 5 ----- vector/src/main/res/values-hr/strings.xml | 5 +---- vector/src/main/res/values-hu/strings.xml | 9 +-------- vector/src/main/res/values-in/strings.xml | 9 +-------- vector/src/main/res/values-is/strings.xml | 7 +------ vector/src/main/res/values-it/strings.xml | 9 +-------- vector/src/main/res/values-iw/strings.xml | 5 ----- vector/src/main/res/values-ja/strings.xml | 6 ------ vector/src/main/res/values-kab/strings.xml | 5 ----- vector/src/main/res/values-ko/strings.xml | 5 ----- vector/src/main/res/values-lo/strings.xml | 6 ------ vector/src/main/res/values-lt/strings.xml | 3 +-- vector/src/main/res/values-lv/strings.xml | 5 ----- vector/src/main/res/values-ml/strings.xml | 3 --- vector/src/main/res/values-nb-rNO/strings.xml | 3 --- vector/src/main/res/values-nl/strings.xml | 9 +-------- vector/src/main/res/values-nn/strings.xml | 3 --- vector/src/main/res/values-pl/strings.xml | 9 +-------- vector/src/main/res/values-pt-rBR/strings.xml | 7 ------- vector/src/main/res/values-pt/strings.xml | 2 -- vector/src/main/res/values-ro/strings.xml | 4 +--- vector/src/main/res/values-ru/strings.xml | 9 +-------- vector/src/main/res/values-sk/strings.xml | 9 +-------- vector/src/main/res/values-sq/strings.xml | 6 ------ vector/src/main/res/values-sr/strings.xml | 7 +------ vector/src/main/res/values-sv/strings.xml | 9 +-------- vector/src/main/res/values-te/strings.xml | 1 - vector/src/main/res/values-th/strings.xml | 4 +--- vector/src/main/res/values-tlh/strings.xml | 4 ---- vector/src/main/res/values-tr/strings.xml | 7 +------ vector/src/main/res/values-uk/strings.xml | 9 +-------- vector/src/main/res/values-vi/strings.xml | 7 +------ vector/src/main/res/values-vls/strings.xml | 2 -- vector/src/main/res/values-zh-rCN/strings.xml | 9 +-------- vector/src/main/res/values-zh-rTW/strings.xml | 9 +-------- vector/src/main/res/values/strings.xml | 17 ----------------- 59 files changed, 32 insertions(+), 335 deletions(-) diff --git a/vector/src/main/res/values-ar/strings.xml b/vector/src/main/res/values-ar/strings.xml index 1df5563686..073f961cb6 100644 --- a/vector/src/main/res/values-ar/strings.xml +++ b/vector/src/main/res/values-ar/strings.xml @@ -143,8 +143,6 @@ يُرسل الرِّسالة… المُزامنة الأولية: \nيستورد بيانات الحِساب - المُزامنة الأولية: -\nيستورد المُجتمعات المُزامنة الأولية: \nيستورد الغُرف المُغادَر مِنها المُزامنة الأولية: @@ -229,7 +227,6 @@ اسم المستخدم و/أو كلمة السر خاطئة لا يبدو هذا وكأنه بريد إلكتروني صالح أنسيت كلمة السر؟ - يجب إدخال عنوان البريد الإلكتروني المرتبط بحسابك. فشل تأكيد عنوان البريد: تحقق من نقر الرابط في البريد أدخِل مسارا صالحا لم يحتوي JSON صالح @@ -376,7 +373,6 @@ %d رسالة جديدة أولوية منخفضة - المجتمعات هزّ الجهاز بجنون يُرسل بلاغًا بعلة الإخطارات المزعجة الإخطارات الصامتة @@ -859,7 +855,6 @@ لا يمكنك الوصول إلى هذه الغرفة حاليًا. \nحاول لاحقًا، أو اسأل مدير الغرفة إن كان لديك نفاذ لها. تتعذر معاية هذه الغرفة - كل المجتمعات رجاء انتظر… غيّر الشبكة أنشئ فضاء جديد @@ -925,7 +920,6 @@ أضف صورة لللاحة يمكنك تغييره لاحقًا الاسم العلني - سيظهر هذا الاسم مع رسائلك. اختر الاسم العلني أُنشئ حسابك %s. مبارك! @@ -1173,4 +1167,4 @@ البريد الإلكتروني كلمة السر الجديدة التالي - \ No newline at end of file + diff --git a/vector/src/main/res/values-az/strings.xml b/vector/src/main/res/values-az/strings.xml index cd5820c5fa..84f2772950 100644 --- a/vector/src/main/res/values-az/strings.xml +++ b/vector/src/main/res/values-az/strings.xml @@ -70,8 +70,6 @@ \nDəvət olunmuş otaqların idxalı İlkin sinxronizasiya: \nTərk olunmuş otaqların idxalı - İlkin sinxronizasiya: -\nİcmaların idxalı İlkin sinxronizasiya: \nHesab məlumatlarının idxalı @@ -88,4 +86,4 @@ %1$s blokladı %2$s. Səbəb: %3$s %1$s %2$s üçün dəvəti qəbul etdi. Səbəb: %3$s %1$s %2$s dəvətini geri götürdü. Səbəb: %3$s - \ No newline at end of file + diff --git a/vector/src/main/res/values-b+sr+Latn/strings.xml b/vector/src/main/res/values-b+sr+Latn/strings.xml index 7d1e61137f..4f734ac224 100644 --- a/vector/src/main/res/values-b+sr+Latn/strings.xml +++ b/vector/src/main/res/values-b+sr+Latn/strings.xml @@ -89,8 +89,6 @@ Ovo ne izgleda kao validna adresa elektronske pošte Ova adresa elektronske pošte je već definisana. Zaboravili ste lozinku\? - Morate uneti adresu elektronske pošte povezane sa vašim nalogom. - Poslato je previše zahteva diff --git a/vector/src/main/res/values-bg/strings.xml b/vector/src/main/res/values-bg/strings.xml index 96e719f29f..b29823040f 100644 --- a/vector/src/main/res/values-bg/strings.xml +++ b/vector/src/main/res/values-bg/strings.xml @@ -52,8 +52,6 @@ \nИмпортиране на стаи, към които съм поканен Начална синхронизация. \nИмпортиране на стаи, които съм напуснал - Начална синхронизация. -\nИмпортиране на общности Начална синхронизация. \nИмпортиране на данни за профила %s обнови тази стая. @@ -246,7 +244,6 @@ Само потребители на Matrix Няма резултати Стаи - Общности Изпращане на логове Изпращане на логове за забивания Изпращане на снимка на екрана @@ -279,7 +276,6 @@ Този имейл адрес е вече използван. Забравена парола? Този Home сървър би искал да се увери, че не сте робот - Имейл адресът, свързан с профила Ви, трябва да бъде въведен. Неуспешно потвърждаване на имейл адреса: уверете се, че сте кликнали върху връзката в имейла Напредък (%s%%) Въведете валиден URL адрес @@ -833,7 +829,6 @@ Промени Промени мрежата Изчакайте… - Всички общности Тази стая не може да бъде прегледана Стаи Директни съобщения diff --git a/vector/src/main/res/values-bn-rBD/strings.xml b/vector/src/main/res/values-bn-rBD/strings.xml index 5913cb5e11..2f068f1bf8 100644 --- a/vector/src/main/res/values-bn-rBD/strings.xml +++ b/vector/src/main/res/values-bn-rBD/strings.xml @@ -360,7 +360,6 @@ পর্যালোচনা করুন এবং এই হোমসার্ভার এর নীতিগুলি গ্রহণ করুন: ইমেল ঠিকানা যাচাই করতে ব্যর্থ: ইমেলটিতে লিঙ্কে আপনি ক্লিক করেছেন তা নিশ্চিত করুন - আপনার অ্যাকাউন্টের সাথে যুক্ত ইমেল ঠিকানা প্রবেশ করা আবশ্যক। এই হোম সার্ভার আপনি একটি রোবট না সেটা নিশ্চিত করবে পাসওয়ার্ড ভুলে গেছেন\? @@ -417,8 +416,6 @@ স্ক্রিনশট পাঠান ক্র্যাশ লগগুলি পাঠান লগগুলি পাঠান - সম্প্রদায়গুলি - রুমগুলি কোন ফলাফল নেই শুধুমাত্র ম্যাট্রিক্সের যোগাযোগগুলি @@ -679,8 +676,6 @@ বার্তা প্রেরণ করা হচ্ছে … প্রাথমিক সিঙ্ক: \nঅ্যাকাউন্ট ডেটা আমদানি করা হচ্ছে - প্রাথমিক সিঙ্ক: -\nসম্প্রদায়গুলি আমদানি করা হচ্ছে প্রাথমিক সিঙ্ক: \nছেড়ে দেওয়া কক্ষগুলিতে আমদানি করা হিচ্ছে প্রাথমিক সিঙ্ক: diff --git a/vector/src/main/res/values-bn-rIN/strings.xml b/vector/src/main/res/values-bn-rIN/strings.xml index 18f122b2cd..828bc3bd34 100644 --- a/vector/src/main/res/values-bn-rIN/strings.xml +++ b/vector/src/main/res/values-bn-rIN/strings.xml @@ -102,8 +102,6 @@ \nআমন্ত্রিত করা কক্ষগুলিতে আমদানি করা হিচ্ছে প্রাথমিক সিঙ্ক: \nছেড়ে দেওয়া কক্ষগুলিতে আমদানি করা হিচ্ছে - প্রাথমিক সিঙ্ক: -\nসম্প্রদায়গুলি আমদানি করা হচ্ছে প্রাথমিক সিঙ্ক: \nঅ্যাকাউন্ট ডেটা আমদানি করা হচ্ছে বার্তা প্রেরণ করা হচ্ছে … @@ -238,9 +236,6 @@ রুমগুলি - - সম্প্রদায়গুলি - লগগুলি পাঠান ক্র্যাশ লগগুলি পাঠান স্ক্রিনশট পাঠান @@ -293,7 +288,6 @@ পাসওয়ার্ড ভুলে গেছেন\? এই হোম সার্ভার আপনি একটি রোবট না সেটা নিশ্চিত করবে - আপনার অ্যাকাউন্টের সাথে যুক্ত ইমেল ঠিকানা প্রবেশ করা আবশ্যক। ইমেল ঠিকানা যাচাই করতে ব্যর্থ: ইমেলটিতে লিঙ্কে আপনি ক্লিক করেছেন তা নিশ্চিত করুন পর্যালোচনা করুন এবং এই হোমসার্ভার এর নীতিগুলি গ্রহণ করুন: diff --git a/vector/src/main/res/values-bs/strings.xml b/vector/src/main/res/values-bs/strings.xml index 0fdb091ed6..583286f27d 100644 --- a/vector/src/main/res/values-bs/strings.xml +++ b/vector/src/main/res/values-bs/strings.xml @@ -78,7 +78,6 @@ Zaboravljena lozinka? Ovaj lokalni server provjerava da niste robot - Email adresa povezana sa vašim računom mora biti unešena. Neuspješna verifikacija email adrese: provjerite da li ste kliknuli link u emailu Unesite ispravan URL @@ -211,4 +210,4 @@ Da li ste sigurani? Vaša lozinka je ažurirana Prikaži sve poruke iz %s? Izaberite zemlju - \ No newline at end of file + diff --git a/vector/src/main/res/values-ca/strings.xml b/vector/src/main/res/values-ca/strings.xml index 8f811ba8b8..c98333ffdb 100644 --- a/vector/src/main/res/values-ca/strings.xml +++ b/vector/src/main/res/values-ca/strings.xml @@ -112,8 +112,6 @@ Enviant missatge… Sincronització inicial: \nImportant dades del compte - Sincronització inicial: -\nImportant comunitats Sincronització inicial: \nImportant sales que n\'has marxat Sincronització inicial: @@ -269,7 +267,6 @@ Només contactes de Matrix Sense resultats Sales - Comunitats Envia els registres Envia els registres de fallada Envia una captura de pantalla @@ -302,7 +299,6 @@ Aquest correu electrònic ja existeix. Contrasenya oblidada\? Aquest servidor vol assegurar-se que no ets cap robot - Heu d\'introduir el correu electrònic associat al vostre compte. No s\'ha pogut verificar l\'adreça del correu electrònic: assegureu-vos que heu fet clic a l\'enllaç del correu electrònic Introduïu una URL vàlida JSON mal format @@ -877,7 +873,6 @@ Canviar Canvia de xarxa Espereu, si us plau… - Totes les comunitats Aquesta sala no es pot pre-visualitzar Sales Xats directes @@ -2208,7 +2203,6 @@ Afegeix alguns detalls per ajudar a destacar-lo. Pots canviar-ho en qualsevol moment. Un espai privat per tu i els teus Obert a tothom, perfecte per a comunitats - Es mostrarà quan enviïs missatges. Escull un àlies El teu compte %s s\'ha creat Felicitats! @@ -2485,7 +2479,6 @@ Implementació temporal: les ubicacions persisteixen a l\'històric de la sala Coses en aquest espai Reprodueix immediatament les imatges animades a la cronologia - Deixa de compartir Activa la compartició d\'ubicació en directe %1$s restants En directe fins %1$s @@ -2607,4 +2600,4 @@ \nPotser el servidor utilitzat no està configurat per mostrar mapes. Obre configuració Tots els xats - \ No newline at end of file + diff --git a/vector/src/main/res/values-cs/strings.xml b/vector/src/main/res/values-cs/strings.xml index 68c8362878..960c5e0a40 100644 --- a/vector/src/main/res/values-cs/strings.xml +++ b/vector/src/main/res/values-cs/strings.xml @@ -52,8 +52,6 @@ \nPokud jste se připojili k mnoha místnostem, může to chvíli trvat Úvodní synchronizace: \nImportuji místnost, jež jste opustili - Úvodní synchronizace: -\nImportuji skupiny Úvodní synchronizace: \nImportuji data účtu Odesílám zprávu… @@ -279,7 +277,6 @@ Pouze kontakty Matrix Žádné výsledky Místnosti - Komunity Odeslat záznamy Odeslat záznamy zřícení Odeslat screenshot @@ -311,7 +308,6 @@ Tato e-mailová adresa je již zadána. Zapomenuté heslo? Tento domovský server by se rád přesvědčil, že nejste robot - Musíte zadat e-mailovou adresu spojenou s vaším účtem. E-mailovou adresu se nepodařilo ověřit. Přesvědčte se, že jste klepli na zaslaný odkaz Prosím, zadejte platné URL Poškozený JSON @@ -948,7 +944,6 @@ Změnit Změnit síť Prosím, čekejte… - Všechny komunity Nelze provést náhled této místnosti Místnosti Přímé zprávy @@ -2479,7 +2474,6 @@ Přidat profilový obrázek Později to můžete změnit Zobrazované jméno - Toto se zobrazí při odesílání zpráv. Zvolte si zobrazované jméno Váš účet %s byl založen Gratulujeme! @@ -2529,7 +2523,6 @@ Zaneprázdněn Záloha má platný podpis tohoto uživatele. Aktualizována před %1$s - Ukončit sdílení Dočasná implementace: polohy přetrvávají v historii místností Povolit sdílení polohy živě zbývá %1$s @@ -2657,4 +2650,4 @@ \nTento domovský server nemusí být nakonfigurován pro zobrazování map. Otevřít nastavení Všechny konverzace - \ No newline at end of file + diff --git a/vector/src/main/res/values-da/strings.xml b/vector/src/main/res/values-da/strings.xml index 8fc117ac4e..13d53b7bb2 100644 --- a/vector/src/main/res/values-da/strings.xml +++ b/vector/src/main/res/values-da/strings.xml @@ -112,7 +112,6 @@ Glemt adgangskode? Denne Home Server vil gerne være sikker på du ikke er en robot - Emailadressen forbundet til din konto skal skrives. Kunne ikke verificere emailadresse: vær sikker på du klikkede på linket i emailen Skriv gyldig URL @@ -180,7 +179,6 @@ Er du sikker? Certifikatet er ændret fra et tidligere betroet, til et der ikke er betroet. Serveren kan have fornyet sit certifikat. Kontakt server administratoren for det forventede fingeraftryk. Accepter kun certifikatet hvis server administratoren har publiceret et fingeraftryk der matcher det ovenstående. Loader… - Communities Er du sikker på, at du ønsker at starte et opkald? Er du sikker på, at du ønsker at starte et videoopkald\? @@ -293,4 +291,4 @@ Er du sikker? %1$s oprettede rummet Din invitation Forbind denne email med din konto - \ No newline at end of file + diff --git a/vector/src/main/res/values-de/strings.xml b/vector/src/main/res/values-de/strings.xml index fa42cc44a1..40473e9e27 100644 --- a/vector/src/main/res/values-de/strings.xml +++ b/vector/src/main/res/values-de/strings.xml @@ -54,8 +54,6 @@ \nImportiere eingeladene Räume Erste Synchronisation: \nImportiere verlassene Räume - Erste Synchronisation: -\nImportiere Communities Erste Synchronisation: \nImportiere Benutzerdaten %1$s hat die Einladung an %2$s, den Raum zu betreten, zurückgezogen @@ -293,7 +291,6 @@ Diese E-Mail-Adresse wird bereits verwendet. Passwort vergessen? Dieser Homeserver möchte sicherstellen, dass du kein Roboter bist - Die E-Mail-Adresse, die mit deinem Account verknüpft ist, muss eingegeben werden. Verifizierung der E-Mail-Adresse ist fehlgeschlagen. Stelle sicher, dass du den Link in der E-Mail geöffnet hast Bitte eine gültige URL eingeben Fehlerhaftes JSON @@ -499,7 +496,6 @@ Laut Verschlüsselte Nachricht Lädt… - Communities Sicher, dass du einen Sprachanruf starten möchtest\? Sicher, dass du einen Videoanruf starten möchtest\? Die Verbannung einer Person entfernt sie aus diesem Raum und hindert sie am erneuten Beitritt. @@ -875,7 +871,6 @@ Ändern Netzwerk wechseln Bitte warten… - Alle Communities Für diesen Raum kann keine Vorschau angezeigt werden Räume Direktnachrichten @@ -2448,7 +2443,6 @@ Bildschirmfreigabe ist in Arbeit ${app_name} Bildschirmfreigabe Aktualisiert vor %1$s - Teilen beenden Aktiviere Live-Standortfreigabe Standortfreigabe ist in Arbeit ${app_name} Live-Standort @@ -2522,7 +2516,6 @@ Profilbild hinzufügen Du kannst dies später ändern Anzeigename - Dies wird angezeigt, wenn Du Nachrichten sendest. Dein Konto %s wurde erstellt Herzlichen Glückwunsch! Profil personalisieren @@ -2579,4 +2572,4 @@ Wie lautet die Adresse deines Servers\? Muss 8 oder mehr Zeichen umfassen Wähle deinen Server - \ No newline at end of file + diff --git a/vector/src/main/res/values-el/strings.xml b/vector/src/main/res/values-el/strings.xml index a7da13bdb3..092a01bff4 100644 --- a/vector/src/main/res/values-el/strings.xml +++ b/vector/src/main/res/values-el/strings.xml @@ -92,7 +92,6 @@ Μόνο οι επαφές Matrix Δεν βρέθηκαν αποτελέσματα Δωμάτια - Κοινότητες Αποστολή καταγραφών σφαλμάτων Αναφορά σφάλματος Εφόσον είναι δυνατό, παρακαλώ γράψτε την περιγραφή στα αγγλικά. @@ -384,4 +383,4 @@ Άνοιγμα με Αποστολή αυτοκόλλητου %1$s δημιούργησε το δωμάτιο - \ No newline at end of file + diff --git a/vector/src/main/res/values-eo/strings.xml b/vector/src/main/res/values-eo/strings.xml index 09361de4ea..7e1925f708 100644 --- a/vector/src/main/res/values-eo/strings.xml +++ b/vector/src/main/res/values-eo/strings.xml @@ -51,8 +51,6 @@ \nEnportante ĉambrojn de invitoj Komenca spegulado: \nEnportante forlasitajn ĉambrojn - Komenca spegulado: -\nEnportante komunumojn Komenca spegulado: \nEnportante datumojn de konto Sendante mesaĝon… @@ -251,7 +249,6 @@ Interparoloj Neniuj rezultoj Ĉambroj - Komunumoj Sendi protokolon Sendi protokolon pri fiasko Sendi ekrankopion @@ -287,7 +284,6 @@ Ĉi tiu retpoŝtadreso jam estas difinita. Ĉu vi forgesis pasvorton\? Ĉi tiu hejmservilo volas certiĝi, ke vi ne estas roboto - Necesas enigi la retpoŝtadreson ligitan al via konto. Malsukcesis kontroli retpoŝtadreson: certiĝu, ke vi klakis la ligilon en la retletero Bonvolu tralegi kaj akcepti la politikojn de ĉi tiu hejmservilo: Originala @@ -788,7 +784,6 @@ Individuaj ĉambroj Ĉambroj Ne eblas antaŭrigardi ĉi tiun ĉambron - Ĉiuj komunumoj Bonvolu atendi… Ŝanĝi reton Ŝanĝi diff --git a/vector/src/main/res/values-es-rMX/strings.xml b/vector/src/main/res/values-es-rMX/strings.xml index cdf7fa3e62..0b38fa6a19 100644 --- a/vector/src/main/res/values-es-rMX/strings.xml +++ b/vector/src/main/res/values-es-rMX/strings.xml @@ -123,7 +123,6 @@ Este correo electrónico ya está ocupado. ¿Olvidaste tu contraseña? Este servidor quiere verificar que no seas robot - El correo electrónico de esta cuenta es requrido. Falló la verificación de correo electrónico: asegúrese de haber hecho clic en el correo Escribe un enlace válido JSON malformado @@ -276,7 +275,6 @@ All native %s rooms Cargando… Descargar - Comunidades Enviar audio Enviar sticker Tomar foto @@ -327,4 +325,4 @@ Elegir sonido de llamadas: Copia de seguridad de la clave Usar copia de seguridad de la clave - \ No newline at end of file + diff --git a/vector/src/main/res/values-es/strings.xml b/vector/src/main/res/values-es/strings.xml index 24909dce3b..4eec90fbd6 100644 --- a/vector/src/main/res/values-es/strings.xml +++ b/vector/src/main/res/values-es/strings.xml @@ -44,8 +44,6 @@ \nImportando cuenta… Sincronización inicial: \nImportando salas - Sincronización inicial: -\nImportando comunidades Sincronización inicial: \nImportando datos de la cuenta Enviando mensaje… @@ -290,7 +288,6 @@ Esta dirección de correo electrónico ya está definida. ¿Olvidaste tu contraseña? Este Servidor Doméstico quiere asegurarse de que no eres un robot - Debes ingresar la dirección de correo electrónico vinculada a tu cuenta. No se pudo verificar la dirección de correo electrónico: asegúrate de hacer clic en el enlace del correo electrónico Por favor introduce una URL válida JSON mal formado @@ -496,7 +493,6 @@ Ruidoso Mensaje cifrado Cargando… - Comunidades ¿Seguro que quieres iniciar una llamada de voz? ¿Seguro que quieres iniciar una llamada de vídeo? Vetar un usuario lo echará de esta sala y evitará que se una nuevamente. @@ -871,7 +867,6 @@ Cambiar Cambiar red Espere por favor… - Todas la comunidades Esta sala no se puede previsualizar Salas Chats @@ -2450,7 +2445,6 @@ Compartieron su localización en vivo Compartieron su localización Puedes cambiar esto en todo momento. - Esto se mostrará cuando mandes mensajes. Llévame a casa Personalizar perfil Conectar a servidor @@ -2478,7 +2472,6 @@ Mostrar última información del usuario Ocupado Actualizado hace %1$s - Dejar de compartir Implementación temporal: las ubicaciones persisten en el historial de la sala Activar compartir ubicación en tiempo real Queda %1$s diff --git a/vector/src/main/res/values-et/strings.xml b/vector/src/main/res/values-et/strings.xml index bb39ecfb5d..89460d921c 100644 --- a/vector/src/main/res/values-et/strings.xml +++ b/vector/src/main/res/values-et/strings.xml @@ -52,8 +52,6 @@ \nImpordin kutsutud jututubasid Esmane laadimine: \nImpordin lahkutud jututubasid - Esmane laadimine: -\nImpordin kogukondi Esmane laadimine: \nImpordin kontoandmeid Saadan sõnumit… @@ -295,7 +293,6 @@ Vaid need, kellel on Matrixi konto Tulemusi ei ole Jututoad - Kogukonnad Saada logikirjed Saada kokkujooksmise logikirjed Saada ekraanipilt @@ -336,7 +333,6 @@ Selline e-posti aadress on juba kasutusel. Kas unustasid oma salasõna\? See koduserver soovib olla kindel, et sa ei ole robot - Sinu kontoga seotud e-posti aadress peab olema sisestatud. E-posti aadressi verifitseerimine ei õnnestunud. Palun kontrolli, et sa avasid kirjas leidunud lingi Palun loe läbi ja nõustu koduserveri kasutusjuhendiga: Palun sisesta korrektne URL @@ -519,7 +515,6 @@ Muuda Vaheta võrku Palun oota… - Kõik kogukonnad Sellel jututoal puudub eelvaade Jututoad Isiklikud sõnumid @@ -2432,7 +2427,6 @@ Lisa profiilipilt Sa võid seda hiljem muuta Kuvatav nimi - Seda näidatakse sõnumite saatmisel. Vali kuvatav nimi Sinu kasutajakonto %s on nüüd olemas Õnnitlused! @@ -2482,7 +2476,6 @@ Hõivatud Varukoopial on kehtiv allkiri sellelt kasutajalt. Uuendamise välp: %1$s - Lõpeta asukoha jagamine Tegemist on ajutise ja esialgse lahendusega: asukohad on jututoa ajaloos näha Luba asukohta jagada reaalajas Jäänud on %1$s @@ -2598,4 +2591,4 @@ \nSee koduserver ei pruugi olla seadistatud kuvama kaarte. Ava seadistused Kõik vestlused - \ No newline at end of file + diff --git a/vector/src/main/res/values-eu/strings.xml b/vector/src/main/res/values-eu/strings.xml index f1465684e2..7b27d1cc1d 100644 --- a/vector/src/main/res/values-eu/strings.xml +++ b/vector/src/main/res/values-eu/strings.xml @@ -67,8 +67,6 @@ \nGonbidatutako gelak inportatzen Hasierako sinkronizazioa: \nUtzitako gelak inportatzen - Hasierako sinkronizazioa: -\nKomunitateak inportatzen Hasierako sinkronizazioa: \nKontuaren datuak inportatzen @@ -194,7 +192,6 @@ Pasahitza ahaztuta\? Hasiera zerbitzari honek robot bat ez zarela egiaztatu nahi du - Zure kontura gehitutako e-mail helbidea sartu behar da. Huts egin du e-mail helbidearen egiaztaketak, egin klik e-mailean zetorren estekan Sartu baliozko URL bat @@ -504,11 +501,6 @@ Kontuan izan ekintza honek aplikazioa berrabiaraziko duela eta denbora bat behar Deia Kargatzen… - - - - Komunitateak - Ziur ahots-dei bat hasi nahi duzula? Ziur bideo-dei bat hasi nahi duzula? @@ -1045,8 +1037,6 @@ Errore hau ${app_name}-en kontroletik kanpo dago. Ez dago Google konturik gailua Aldatu Aldatu sarea Itxaron mesedez… - Komunitate guztiak - Gela hau ezin da aurreikusi Gelak diff --git a/vector/src/main/res/values-fa/strings.xml b/vector/src/main/res/values-fa/strings.xml index 42daf1dff8..c534356e92 100644 --- a/vector/src/main/res/values-fa/strings.xml +++ b/vector/src/main/res/values-fa/strings.xml @@ -54,8 +54,6 @@ \nدرون‌ریزی اتاق‌های دعوت‌شده همگام‌سازی نخستین: \nدرون‌ریزی اتاق‌های ترک شده - همگام‌سازی نخستین: -\nدرون‌ریزی اجتماع‌ها همگام‌سازی نخستین: \nدرون‌ریزی داده‌های حساب در حال فرستادن پیام… @@ -249,7 +247,6 @@ هشدارهای سیستمی فقط آشنایان ماتریکس نتیجه‌ای نیست - انجمن‌ها ارسال رخدادنگارها ارسال رخدادنگارهای خطا ارسال تصویر صفحه @@ -438,7 +435,6 @@ تغییر تغییر شبکه لطفاً شکیبایی کنید… - تمام اجتماع‌ها این اتاق نمی‌تواند پیش‌نمایش یابد اتاق‌ها پیام‌های مستقیم @@ -505,7 +501,6 @@ ابزارهای توسعه هیچ ابطال - باید نشانی رایانامهٔ پیوسته به حسابتان وارد شود. شکست در تأیید نشانی رایانامه: مطمئن شوید که پیوند درون رایانامه را کلیک کرده‌اید لطفاً سیاست‌های این کارساز خانگی را بررسی کرده و بپذیرید: لطفا یک نشانی معتبر وارد کنید @@ -2433,7 +2428,6 @@ افزودن یک تصویر نمایه می‌توانید بعدها تغییرش دهید نام نمایشی - هنگامی که پیام می‌فرستید نشان داده خواهد شد. حسابتان %s ایجاد شد تبریک! مرا به خانه ببر @@ -2482,7 +2476,6 @@ مشغول پشتیبان امضای معتبری از این کاربر دارد. %1$s پیش به‌روز شده - توقّف هم‌رسانی پیاده‌سازی موقّتی: موقعیت‌ها در تاریخچهٔ اتاق می‌مانند به کار انداختن هم‌رسانی مکان زنده %1$s مانده @@ -2607,4 +2600,4 @@ \nشاید این کارساز خانگی برای نمایش نقشه‌ها پیکربندی نشده باشد. گشودن تنظیمات تمامی گپ‌ها - \ No newline at end of file + diff --git a/vector/src/main/res/values-fi/strings.xml b/vector/src/main/res/values-fi/strings.xml index 1a1db03232..fde2502ae0 100644 --- a/vector/src/main/res/values-fi/strings.xml +++ b/vector/src/main/res/values-fi/strings.xml @@ -52,8 +52,6 @@ \nTuodaan kutsuttuja huoneita Alkusynkronointi: \nTuodaan poistuttuja huoneita - Alkusynkronointi: -\nTuodaan yhteisöjä Alkusynkronointi: \nTuodaan tilin tietoja %s päivitti tämän huoneen. @@ -240,7 +238,6 @@ Tämä sähköpostiosoite on jo käytössä. Unohditko salasanasi? Tämä kotipalvelin haluaa varmistaa, ettet ole robotti - Anna tiliisi liitetty sähköpostiosoite. Sähköpostiosoitteesi vahvistaminen epäonnistui. Varmista, että klikkasit sähköpostissa olevaa linkkiä Syötäthän toimivan osoitteen Epämuotoinen JSON @@ -447,7 +444,6 @@ Äänekäs Salattu viesti Ladataan… - Yhteisöt Haluatko varmasti aloittaa äänipuhelun\? Haluatko varmasti aloittaa videopuhelun\? Käyttäjän estäminen poistaa hänet tästä huoneesta ja estää häntä liittymästä huoneeseen uudelleen. @@ -815,7 +811,6 @@ Luo uusi huone Ei verkkoa. Tarkista internet-yhteytesi. Odota… - Kaikki yhteisöt Tätä huonetta ei voi esikatsella Huoneet Yksityisviestit @@ -2070,7 +2065,6 @@ Lisää profiilikuva Voit vaihtaa tämän myöhemmin Näyttönimi - Tämä näytetään, kun lähetät viestejä. Valitse näyttönimi Tilisi %s on luotu. Onnittelut! diff --git a/vector/src/main/res/values-fr-rCA/strings.xml b/vector/src/main/res/values-fr-rCA/strings.xml index 2ce845a632..29a618f415 100644 --- a/vector/src/main/res/values-fr-rCA/strings.xml +++ b/vector/src/main/res/values-fr-rCA/strings.xml @@ -359,7 +359,6 @@ Ce salon n’est pas accessible en ce moment. \nRéessayez plus tard, ou demandez à un administrateur de ce salon de vérifier que vous pouvez y accéder. Impossible d’avoir un aperçu de ce salon - Toutes les communautés Veuillez patienter… Changer de réseau Changer @@ -569,7 +568,6 @@ Impossible de vérifier l’adresse courriel : assurez-vous d’avoir cliqué sur le lien dans l’courriel Aucune adresse courriel n’a été ajoutée à votre compte Cette adresse courriel est déjà utilisée. - L’adresse courriel liée à votre compte doit être saisie. Vous n’avez pas accès à ce message Définir l’avatar Vous avez bien changé les paramètres du salon @@ -1465,7 +1463,6 @@ Inclure l’historique d’échange de clés Envoyer les journaux d’erreur Envoyer les journaux - Communautés Afficher tous les salons dans le répertoire, y compris ceux au contenu choquant. Afficher les salons au contenu choquant Répertoire des salons @@ -1746,8 +1743,6 @@ Message envoyé Synchronisation initiale : \nImportation des données du compte - Synchronisation initiale : -\nImportation des communautés Synchronisation initiale : \nImportation des salons que vous avez quittés Synchronisation initiale : diff --git a/vector/src/main/res/values-fr/strings.xml b/vector/src/main/res/values-fr/strings.xml index 4318b426bd..c5a7a7b2b7 100644 --- a/vector/src/main/res/values-fr/strings.xml +++ b/vector/src/main/res/values-fr/strings.xml @@ -52,8 +52,6 @@ \nImportation des salons où vous avez été invité Synchronisation initiale : \nImportation des salons que vous avez quittés - Synchronisation initiale : -\nImportation des communautés Synchronisation initiale : \nImportation des données du compte %s a mis à niveau ce salon. @@ -375,7 +373,6 @@ Ceci ne ressemble pas à une adresse électronique valide Cette adresse électronique est déjà utilisée. Ce serveur d’accueil souhaite s’assurer que vous n’êtes pas un robot - L’adresse électronique liée à votre compte doit être saisie. Impossible de vérifier l’adresse électronique : assurez-vous d’avoir cliqué sur le lien dans le courriel Trop de requêtes ont été envoyées Quitter @@ -474,7 +471,6 @@ Notification sonore Message chiffré Chargement… - Communautés Voulez-vous vraiment engager un nouvel appel audio \? Voulez-vous vraiment engager un nouvel appel vidéo \? Bannir un utilisateur va l’expulser du salon et l’empêcher de le rejoindre à nouveau. @@ -854,7 +850,6 @@ Créer un nouveau salon Aucun réseau. Vérifiez votre connexion Internet. Changer - Toutes les communautés Impossible d’avoir un aperçu de ce salon Salons Conversations privées @@ -2426,7 +2421,6 @@ Ajouter une photo de profil Vous pourrez le changer plus tard Nom d’affichage - Il sera affiché quand vous enverrez des messages. Choisissez un nom d’affichage Votre compte %s a été créé Félicitations ! @@ -2482,7 +2476,6 @@ \nCette action va redémarrer l’application et pourra prendre du temps. Requête de synchronisation initiale Mis-à-jour il y a %1$s - Arrêter le partage Implémentation temporaire : les positions sont persistantes dans l’historique du salon Activer le partage de position en continu %1$s restant @@ -2607,4 +2600,4 @@ \nCe serveur d’accueil n’a peut-être pas été configuré pour afficher les cartes. Ouvrir les paramètres Toutes les conversations - \ No newline at end of file + diff --git a/vector/src/main/res/values-fy/strings.xml b/vector/src/main/res/values-fy/strings.xml index d218203739..02f1e6ab2a 100644 --- a/vector/src/main/res/values-fy/strings.xml +++ b/vector/src/main/res/values-fy/strings.xml @@ -69,7 +69,6 @@ Allinnich Matrix-kontakten Gjin resultaten Petearen - Mienskippen Lochboek ferstjoere Ungeloklochboek ferstjoere Skermôfdruk ferstjoere @@ -103,8 +102,6 @@ Berjocht ferstjoerd Inisjele syngronisaasje: \nAccountgegevens ymportearje - Inisjele Syngronisaasje: -\nMienskippen ymportearje Inisjele Syngronisaasje: \nFerlitten keamers ymportearje Inisjele syngronisaasje: @@ -139,7 +136,6 @@ alle dielnimmers, fan it momint ôf dat se de keamer ynkaam binne. alle dielnimmers oan it petear, fan it momint ôf dat se útnûge binne. Iepen foar eltsenien, it beste foar mienskippen - Alle mienskippen Sukses Jo hawwe gjin tastimming om fersifering yn dizze keamer yn te skeakeljen. Telefoan @@ -231,7 +227,6 @@ Efterkant Foarkant Dizze thússerver wol der graach wis fan wêze dat jo gjin robot binne - It e-mailadres dat oan jo account keppele is moat ynfierd wurde. Befeiliging & privacy Tastean Keamerferzje diff --git a/vector/src/main/res/values-ga/strings.xml b/vector/src/main/res/values-ga/strings.xml index 78b4f873a8..d6ee441255 100644 --- a/vector/src/main/res/values-ga/strings.xml +++ b/vector/src/main/res/values-ga/strings.xml @@ -39,7 +39,6 @@ Guthán Cuardaigh Ainm úsáideora - Pobail Seomraí Comhráite Cuirí @@ -150,4 +149,4 @@ Do chuireadh Cuireadh %s Cuardaigh - \ No newline at end of file + diff --git a/vector/src/main/res/values-gl/strings.xml b/vector/src/main/res/values-gl/strings.xml index 295f0ebafb..e6d26a63e5 100644 --- a/vector/src/main/res/values-gl/strings.xml +++ b/vector/src/main/res/values-gl/strings.xml @@ -109,8 +109,6 @@ Enviando mensaxe… Sincr. inicial: \nImportando datos da conta - Sincr. inicial: -\nImportando comunidades Sincr. inicial: \nImportando salas das que saíches Sincr. inicial: @@ -273,8 +271,6 @@ Salas Enviar unha icona Descargar - - Comunidades Enviar informes Enviar informes de fallos Enviar captura de pantalla @@ -312,7 +308,6 @@ Esqueceu o contrasinal? Este servidor local quere asegurarse de que non é un robot - Debe introducir o correo electrónico ligado a súa conta. Fallo na verificación do enderezo de correo: asegúrese de ter picado na ligazón do correo Chamar Continuar diff --git a/vector/src/main/res/values-hr/strings.xml b/vector/src/main/res/values-hr/strings.xml index b47babedde..dc5930b933 100644 --- a/vector/src/main/res/values-hr/strings.xml +++ b/vector/src/main/res/values-hr/strings.xml @@ -69,7 +69,6 @@ Samo kontakti u Matrixu Nema rezultata Sobe - Zajednice Pošalji zapise Pošalji zapise o rušenju Pošalji sliku zaslona @@ -110,7 +109,6 @@ Ova je adresa e-pošte već određena. Zaboravljena lozinka\? Vaš poslužitelj želi provjeriti jeste li robot - Nužan je unos adrese e-pošte vezane za Vaš račun. Neuspješna provjera adrese e-pošte: pobrinite se kliknuti na poveznicu u e-pošti Pročitajte i prihvatite pravila ovog poslužitelja: Unesite ispravan URL @@ -507,7 +505,6 @@ Promijeni Promijeni mrežu Pričekajte… - Sve zajednice Nije moguće pregledati sobu Sobe Izravne poruke @@ -849,4 +846,4 @@ Ti si kreirao sobu %1$s je kreirao sobu Tvoja pozivnica - \ No newline at end of file + diff --git a/vector/src/main/res/values-hu/strings.xml b/vector/src/main/res/values-hu/strings.xml index f5343fd948..a35595fb36 100644 --- a/vector/src/main/res/values-hu/strings.xml +++ b/vector/src/main/res/values-hu/strings.xml @@ -52,8 +52,6 @@ \nMeghívott szobák betöltése Induló szinkronizáció: \nElhagyott szobák betöltése - Induló szinkronizáció: -\nKözösségek betöltése Induló szinkronizáció: \nFiók adatok betöltése %s frissítette ezt a szobát. @@ -228,7 +226,6 @@ Ez az e-mail cím már használatban van. Elfelejtetted a jelszavad? A Matrix-kiszolgáló szeretné ellenőrizni, hogy nem vagy robot - Meg kell adnod a fiókodhoz tartozó e-mail-címet. Az e-mail-címed ellenőrzés sikertelen: győződj meg róla, hogy rákattintottál az e-mailben található hivatkozásra Adj meg egy érvényes URL-t Hibás JSON @@ -434,7 +431,6 @@ Hangos Titkosított üzenet Betöltés… - Közösségek Biztos, hogy hanghívást akarsz indítani\? Biztos, hogy videóhívást akarsz indítani\? A felhasználó kitiltása eltávolítja őt a szobából, és megakadályozza, hogy újra csatlakozhasson. @@ -813,7 +809,6 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze Változtat Hálózat megváltoztatása Kérlek várj… - Minden közösség Ennek a szobának nincs előnézete Szobák Közvetlen üzenetek @@ -2432,7 +2427,6 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze Profilkép hozzáadása Ezt később meg lehet változtatni Megjelenítendő név - Ez fog megjelenni amikor üzenetet küldesz. Válassz egy megjelenítendő nevet A fiókod elkészült. A Matrix címed: %s Gratulálunk! @@ -2482,7 +2476,6 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze Foglalt A mentésnek érvényes aláírása van ettől a felhasználótól. Frissítve ekkor: %1$s - Megosztás megállítása Átmeneti megvalósítás: a helyadatok megmaradnak a szoba naplójában Élő helymegosztás engedélyezése %1$s kilépett @@ -2607,4 +2600,4 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze %1$s és %2$s Minden beszélgetés - \ No newline at end of file + diff --git a/vector/src/main/res/values-in/strings.xml b/vector/src/main/res/values-in/strings.xml index aba69da375..4dea8c3f92 100644 --- a/vector/src/main/res/values-in/strings.xml +++ b/vector/src/main/res/values-in/strings.xml @@ -93,7 +93,6 @@ Kemajuan (%s%%) Nama Pengguna Nama pengguna dan/atau kata sandi salah - Anda perlu memasukkan alamat email yang tertaut pada akun. Verifikasi alamat email gagal: pastikan tautan yang termuat di email telah diklik JSON amburadul Tidak berisi JSON yang sah @@ -115,7 +114,6 @@ Memuat… Unduh Peringatan Sistem - Komunitas Mohon deskripsikan dengan bahasa Inggris apabila memungkinkan. Guncang perangkat untuk laporan gangguan Kirim Pesan Suara @@ -755,8 +753,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Pesan terkirim Sinkronisasi awal: \nMengimpor data akun - Sinkronisasi awal: -\nMengimpor komunitas Sinkronisasi Awal: \nMengimpor ruangan yang ditinggalkan Sinkronisasi awal: @@ -1382,7 +1378,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Ruangan ini tidak dapat di akses di waktu ini. \nCoba lagi nanti, atau tanya admin ruangan untuk memeriksa jika Anda punya akses. Ruangan ini tidak dapat di tampilkan - Semua Komunitas Mohon menunggu… Ganti jaringan Ganti @@ -2387,7 +2382,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Tambahkan sebuah foto profil Anda dapat mengubahnya nanti Nama Tampilan - Ini akan ditampilkan ketika Anda mengirim pesan. Pilih nama tampilan Akun %s Anda telah dibuat Selamat! @@ -2438,7 +2432,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Cadangan memiliki tandatangan yang valid dari pengguna ini. Langsung sampai %1$s Diperbarui %1$s yang lalu - Berhenti membagikan Implementasi sementara: lokasi tetap di riwayat ruangan Aktifkan Pembagian Lokasi Langsung Tinggal %1$s @@ -2559,4 +2552,4 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. %1$s dan %2$s Email belum diverifikasi, periksa kotak masuk Anda Semua Obrolan - \ No newline at end of file + diff --git a/vector/src/main/res/values-is/strings.xml b/vector/src/main/res/values-is/strings.xml index 53af7bff5c..7818761145 100644 --- a/vector/src/main/res/values-is/strings.xml +++ b/vector/src/main/res/values-is/strings.xml @@ -236,7 +236,6 @@ Snöggt svar Leita að spjallrásum Einungis tengiliðir í Matrix - Samfélög Framvinda (%s%%) Þetta lítur ekki út eins og gilt tölvupóstfang Þetta tölvupóstfang er nú þegar skráð. @@ -316,7 +315,6 @@ Það tókst að senda villuskýrsluna Mistókst að senda villuskýrsluna (%s) Þessi heimavefþjónn vill ganga úr skugga um að þú sért ekki vélmenni - Það þarf að setja inn tölvupóstfangið sem tengt er notandaaðgangnum þínum. Gat ekki sannprófað tölvupóstfang: gakktu úr skugga um að þú hafir smellt á tengilinn í tölvupóstinum Þú getur ekki afturkallað þessa aðgerð, þar sem þú ert að gefa notandanum jafn mikil völd og þú hefur sjálf/ur. \nErtu alveg viss\? @@ -535,8 +533,6 @@ Boð um þátttöku til %1$s. Ástæða: %2$s Upphaf samstillingar: \nFlyt inn gögn úr notandaaðgangi - Upphaf samstillingar: -\nFlyt inn samfélög Upphaf samstillingar: \nFlyt inn yfirgefnar spjallrásir Upphaf samstillingar: @@ -822,7 +818,6 @@ Þjappa mynd… Sendi skrá (%1$s / %2$s) Dulrita skrá… - Öll samfélög Sýna fjarlægð skilaboð Þú átt engin fleiri ólesin skilaboð Boðið af %s @@ -2017,4 +2012,4 @@ Prófaðu það Gera óvirkt Upphafleg samstillingarbeiðni - \ No newline at end of file + diff --git a/vector/src/main/res/values-it/strings.xml b/vector/src/main/res/values-it/strings.xml index afa0831206..b14b9d8fbd 100644 --- a/vector/src/main/res/values-it/strings.xml +++ b/vector/src/main/res/values-it/strings.xml @@ -52,8 +52,6 @@ \nImportazione stanze con invito Sincronizzazione iniziale: \nImportazione stanze abbandonate - Sincronizzazione iniziale: -\nImportazione delle comunità Sincronizzazione iniziale: \nImportazione dati account %s ha aggiornato questa stanza. @@ -293,7 +291,6 @@ L\'indirizzo email è già stato impostato. Hai dimenticato la password\? Questo homeserver vuole assicurarsi che tu non sia un robot - Va inserito l\'indirizzo email associato al tuo account. La verifica del tuo indirizzo email è fallita: assicurati di aver cliccato sul link contenuto nella mail Inserisci un URL valido JSON malformato @@ -488,7 +485,6 @@ Chiama Messaggio criptato Caricamento… - Comunità Per segnalare un errore agita il dispositivo con rabbia Sicuro di voler fare una chiamata audio\? Sicuro di voler fare una videochiamata\? @@ -874,7 +870,6 @@ Cambia Cambia rete Attendere prego… - Tutte le comunità Anteprima non disponibile per questa stanza Stanze Messaggi diretti @@ -2424,7 +2419,6 @@ Aggiungi un\'immagine del profilo Puoi cambiarlo in seguito Nome da mostrare - Verrà mostrato quando invii messaggi. Scegli un nome da mostrare Il tuo account %s è stato creato Congratulazioni! @@ -2474,7 +2468,6 @@ Il backup ha una firma valida da questo utente. Implementazione temporanea: le posizioni restano nella cronologia della stanza Aggiornato %1$s fa - Ferma condivisione Attiva condivisione posizione in tempo reale %1$s rimasti In tempo reale fino alle %1$s @@ -2598,4 +2591,4 @@ \nQuesto homeserver potrebbe non essere configurato per mostrare mappe. Apri le impostazioni Tutte le chat - \ No newline at end of file + diff --git a/vector/src/main/res/values-iw/strings.xml b/vector/src/main/res/values-iw/strings.xml index be02a1e772..6d9533852b 100644 --- a/vector/src/main/res/values-iw/strings.xml +++ b/vector/src/main/res/values-iw/strings.xml @@ -114,7 +114,6 @@ שלח היסטוריית בקשות לשיתוף מפתח שלח יומני תקלות שלח יומנים - קהילות יותר מדי בקשות נשלחו לא מכיל JSON חוקי JSON פגום @@ -125,7 +124,6 @@ אנא הכנס כתובת תקינה אנא עיין וקבל את המדיניות של שרת בית זה: אימות כתובת הדוא\"ל נכשל: ודא שלחצת על הקישור בדוא\"ל - יש להזין את כתובת הדוא\"ל המקושרת לחשבונך. שרת הבית רוצה לוודא שאתה לא רובוט שכחת סיסמה\? מספר הטלפון הזה כבר קיים ומעודכן במערכת. @@ -1155,7 +1153,6 @@ בשלב זה אין גישה לחדר זה. \nנסה שוב מאוחר יותר, או בקש ממנהל החדר לבדוק אם יש לך גישה. לא ניתן להציג תצוגה מקדימה של חדר זה - כל הקהילות אנא המתינו… שנה רשת שנה @@ -1769,8 +1766,6 @@ הודעה נשלחה סנכרון ראשוני: \nייבוא נתוני חשבון - סנכרון ראשוני: -\nייבוא קהילות סנכרון ראשוני: \nייבוא חדרים עזובים סנכרון ראשוני: diff --git a/vector/src/main/res/values-ja/strings.xml b/vector/src/main/res/values-ja/strings.xml index 0aef5124c9..b781e4d7f0 100644 --- a/vector/src/main/res/values-ja/strings.xml +++ b/vector/src/main/res/values-ja/strings.xml @@ -218,7 +218,6 @@ サインアウト 送信 このホームサーバーは、あなたがロボットではないことの確認を求めています - アカウントに登録されたメールアドレスの入力が必要です。 メールアドレスの認証に失敗しました:電子メールのリンクをクリックしたことを確認してください 不正な形式のJSON 有効なJSONを含んでいませんでした @@ -334,7 +333,6 @@ 音量大 暗号化されたメッセージ 読み込んでいます… - コミュニティー 音声通話を開始してよろしいですか? ビデオ通話を開始してよろしいですか? ユーザーをブロックすると、ユーザーはこのルームから追放され、二度と参加できなくなります。 @@ -500,7 +498,6 @@ 新しいルームを作成 変更 ネットワークを変更 - 全てのコミュニティー ルーム ダイレクトメッセージ 作成 @@ -899,8 +896,6 @@ メッセージを送りました 初期同期: \nアカウントデータをインポートしています - 初期同期: -\nコミュニティーをインポートしています 初期同期: \nルームをインポートしています 初期同期: @@ -2344,7 +2339,6 @@ プロフィール画像を追加 これは後から変更できます 表示名 - メッセージを送信する際に表示されます。 この位置情報を共有 この位置情報を共有 位置情報(ライブ)を共有 diff --git a/vector/src/main/res/values-kab/strings.xml b/vector/src/main/res/values-kab/strings.xml index 15b96813c8..a79b72efde 100644 --- a/vector/src/main/res/values-kab/strings.xml +++ b/vector/src/main/res/values-kab/strings.xml @@ -103,8 +103,6 @@ \nAktar n texxamin iɣer tettwanecdeḍ Amtawi n tazwara: \nAktar n texxamin i teǧǧiḍ - Amtawi n tazwara: -\nAktar n tmezdagnutin Amtawi n tazwara: \nAktar n yisefka n umiḍan Tuzzna n yizen… @@ -208,7 +206,6 @@ Ilɣa n unagraw Ulac igmad Tixxamin - Tamɣiwnin Azen iɣmisen Rnu ɣer texxamt Isem n useqdac @@ -547,7 +544,6 @@ Tansa-a n yimayl tettuseqdec yakan. Tettuḍ awal uffir\? Aqeddac-a agejdan yesra ad iẓer ma mačči d aṛubut i telliḍ - Tansa n yimayl i icudden ɣer umiḍan-ik·im ilaq ad tettwasekcem. Ttxil-k·m senqed syen qbel tisertiyin n uqeddac-a agejdan: Ttxil-k·m sekcem URL ameɣtu Tagi mačči d tansa n uqeddac n Matrix ameɣtu @@ -710,7 +706,6 @@ Qbel Rnu taxxamt tamaynut Snifel azeṭṭa - Meṛṛa timɣiwnin RNU Isem Yal yiwen yezmer ad yernu ɣer texxamt-a diff --git a/vector/src/main/res/values-ko/strings.xml b/vector/src/main/res/values-ko/strings.xml index 5d07800726..ba0cbe5abd 100644 --- a/vector/src/main/res/values-ko/strings.xml +++ b/vector/src/main/res/values-ko/strings.xml @@ -52,8 +52,6 @@ \n초대받은 방 가져오는 중 초기 동기화: \n떠난 방 가져오는 중 - 초기 동기화: -\n커뮤니티 가져오는 중 초기 동기화: \n계정 데이터 가져오는 중 메시지 보내는 중… @@ -133,7 +131,6 @@ 완료 정말 로그아웃하시겠습니까\? 읽음으로 표시 - 커뮤니티 최근에 애플리케이션이 충돌한 것 같습니다. 충돌 보고서를 열까요\? 사용자 이름 음성 보내기 @@ -165,7 +162,6 @@ 통합 인증으로 로그인 이 이메일 주소는 이미 정의되었습니다. 이 홈서버는 당신이 로봇인지 아닌 지를 확인하고 싶습니다 - 계정에 연결된 이메일 주소를 입력해야 합니다. 이메일 주소를 확인할 수 없습니다: 이메일에 있는 링크를 클릭했는 지 확인하세요 이 홈서버의 규칙을 숙지한 후 수락하세요: 올바른 URL을 입력하세요 @@ -700,7 +696,6 @@ 변경 네트워크 변경 기다려주세요… - 모든 커뮤니티 이 방은 미리 볼 수 없습니다 다이렉트 메시지 diff --git a/vector/src/main/res/values-lo/strings.xml b/vector/src/main/res/values-lo/strings.xml index 5af621359f..1a9a2820b8 100644 --- a/vector/src/main/res/values-lo/strings.xml +++ b/vector/src/main/res/values-lo/strings.xml @@ -259,7 +259,6 @@ ກະລຸນາໃສ່ URL ທີ່ຖືກຕ້ອງ ກະລຸນາກວດເບິ່ງ ແລະຍອມຮັບນະໂຍບາຍຂອງ homeserver ນີ້: ການກວດສອບທີ່ຢູ່ອີເມວບໍ່ສຳເລັດ: ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ກົດໃສ່ການເຊື່ອມຕໍ່ໃນອີເມວ - ຕ້ອງໃສ່ອິເມວທີ່ເຊື່ອມຕໍ່ກັບບັນຊີຂອງທ່ານ. homeserver ນີ້ຕ້ອງການໃຫ້ແນ່ໃຈວ່າທ່ານບໍ່ແມ່ນຫຸ່ນຍົນ ລືມລະຫັດຜ່ານ\? ເບີໂທລະສັບນີ້ຖືກກໍານົດໄວ້ແລ້ວ. @@ -320,7 +319,6 @@ ສົ່ງບັນທຶກການຂັດຂ້ອງ ສົ່ງບັນທຶກ ພື້ນທີ່ - ຊຸມຊົນ ສະແດງໃຫ້ເຫັນຫ້ອງທັງຫມົດໃນລະບົບຫ້ອງ, ລວມທັງຫ້ອງທີ່ມີເນື້ອຫາຊັດເຈນ. ສະແດງຫ້ອງທີ່ມີເນື້ອຫາບໍ່ຈະແຈ້ງ ຫ້ອງ @@ -515,8 +513,6 @@ ຂໍ້ຄວາມຖືກສົ່ງ ການຊິງຄ໌ເບື້ອງຕົ້ນ: \nການນໍາເຂົ້າຂໍ້ມູນບັນຊີ - ການຊິງຄ໌ເບື້ອງຕົ້ນ: -\nຊຸມຊົນນໍາເຂົ້າ ການຊິງຄ໌ເບື້ອງຕົ້ນ: \nການນໍາເຂົ້າຫ້ອງຊ້າຍ ການຊິງຄ໌ເບື້ອງຕົ້ນ: @@ -737,7 +733,6 @@ ຫ້ອງນີ້ບໍ່ສາມາດເຂົ້າເຖິງໄດ້ໃນເວລານີ້. \nລອງໃໝ່ໃນພາຍຫຼັງ, ຫຼືຖາມຜູ້ເບິ່ງແຍງຫ້ອງເພື່ອກວດເບິ່ງວ່າທ່ານມີການເຂົ້າເຖິງຫຼືບໍ່. ຫ້ອງນີ້ບໍ່ສາມາດເບິ່ງຕົວຢ່າງໄດ້ - ຊຸມຊົນທັງໝົດ ກະລຸນາລໍຖ້າ… ປ່ຽນເຄືອຂ່າຍ ບໍ່ມີເຄືອຂ່າຍ. ກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ອິນເຕີເນັດຂອງທ່ານ. @@ -2243,7 +2238,6 @@ ອອກໄປ ອອກຈາກຫ້ອງ ອັບໂຫຼດ - ສິ່ງນີ້ຈະຖືກສະແດງເມື່ອທ່ານສົ່ງຂໍ້ຄວາມ. ເລືອກຊື່ທີ່ຈະສະແດງ ບັນຊີຂອງທ່ານ%sໄດ້ຖືກສ້າງຂື້ນແລ້ວ. ຊົມເຊີຍ! diff --git a/vector/src/main/res/values-lt/strings.xml b/vector/src/main/res/values-lt/strings.xml index d2e7fa9be8..454bf8a4db 100644 --- a/vector/src/main/res/values-lt/strings.xml +++ b/vector/src/main/res/values-lt/strings.xml @@ -127,7 +127,6 @@ Siųsti raktų bendrinimo užklausų istoriją Siųsti sutrikimų žurnalus Siųsti žurnalus - Bendruomenės Rodyti visus kambarių kataloge esančius kambarius, įskaitant kambarius su eksplicitiniu turiniu. Rodyti eksplicitinio turinio kambarius Kambarių katalogas @@ -448,4 +447,4 @@ %d praleistų balso skambučių Skambutis baigtas - \ No newline at end of file + diff --git a/vector/src/main/res/values-lv/strings.xml b/vector/src/main/res/values-lv/strings.xml index f16e61980e..f1fa1502c1 100644 --- a/vector/src/main/res/values-lv/strings.xml +++ b/vector/src/main/res/values-lv/strings.xml @@ -152,8 +152,6 @@ Sūta ziņu… Sākotnējā sinhronizācija: \nImportē konta datus - Sākotnējā sinhronizācija: -\nImportē kopienas Sākotnējā sinhronizācija: \nImportē pamestās istabas Sākotnējā sinhronizācija: @@ -279,7 +277,6 @@ Klusi paziņojumi Kļūdas atskaite Ielādējas… - Kopienas Tiešām vēlies uzsākt balss zvanu\? Tiešām vēlies uzsākt video zvanu\? Uzņemt foto @@ -290,7 +287,6 @@ Aizmirsāt paroli\? Mājasservers vēlas pārbaudīt, vai neesat robots - Ir jābūt ievadītai kontam piesaistītajai epasta adresei. Neizdevās verificēt epasta adresi: pārbaudiet, vai esi noklikšķinājis(usi) uz saiti atsūtītajā epastā Ievadi korektu URL adresi @@ -699,7 +695,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Tiešās ziņas Istabas Šo istabu nevar priekšskatīt - Visas kopienas Ziņa ir dzēsta Reaģēšana Reaģēšana diff --git a/vector/src/main/res/values-ml/strings.xml b/vector/src/main/res/values-ml/strings.xml index e7e57d9e21..20bc2d4354 100644 --- a/vector/src/main/res/values-ml/strings.xml +++ b/vector/src/main/res/values-ml/strings.xml @@ -403,8 +403,6 @@ സന്ദേശം അയയ്ക്കുന്നു… പ്രാരംഭ സമന്വയം: \nഅക്കൗണ്ട് ഡാറ്റ ഇറക്കുമതി ചെയ്യുന്നു - പ്രാരംഭ സമന്വയം: -\nജനസമൂഹങ്ങൾ ഇറക്കുമതി ചെയ്യുന്നു പ്രാരംഭ സമന്വയം: \nഉപേക്ഷിച്ച മുറികൾ ഇറക്കുമതി ചെയ്യുന്നു പ്രാരംഭ സമന്വയം: @@ -474,7 +472,6 @@ മുന്നിലുള്ള പിന്നിലുള്ള ഹെഡ്‌സെറ്റ് - കമ്മ്യൂണിറ്റികൾ പിശക് വിച്ഛേദിക്കുക അസാധുവാക്കുക diff --git a/vector/src/main/res/values-nb-rNO/strings.xml b/vector/src/main/res/values-nb-rNO/strings.xml index 683961e590..031b380c7e 100644 --- a/vector/src/main/res/values-nb-rNO/strings.xml +++ b/vector/src/main/res/values-nb-rNO/strings.xml @@ -42,7 +42,6 @@ Lavprioritet Ingen treff Rom - Samfunn Meld fra om en bug Fremgang (%s%%) Bli med i rommet @@ -524,7 +523,6 @@ Meldingen ble slettet Vis fjernede meldinger Vis en stattholder for fjernede meldinger - Alle samfunn Matrix SDK-versjon Send inn et forslag Krypterer filen … @@ -604,7 +602,6 @@ Vennligst gjennomgå og godta retningslinjene til denne hjemmeserveren: Klarte ikke verifisere e-postadressen: Pass på at du har klikket på lenken i e-posten - Du må skrive inn e-postadressen som er knyttet til din konto. Denne hjemmetjeneren vil vite om du er en robot Klarte ikke å starte en sanntidskopling. diff --git a/vector/src/main/res/values-nl/strings.xml b/vector/src/main/res/values-nl/strings.xml index a79f5e7aee..513fb42fa1 100644 --- a/vector/src/main/res/values-nl/strings.xml +++ b/vector/src/main/res/values-nl/strings.xml @@ -52,8 +52,6 @@ \nUitgenodigde gesprekken worden geïmporteerd Initiële synchronisatie: \nVerlaten gesprekken worden geïmporteerd - Initiële synchronisatie: -\nGemeenschappen worden geïmporteerd Initiële synchronisatie: \nAccountgegevens worden geïmporteerd %s heeft dit gesprek geüpgraded. @@ -150,7 +148,6 @@ Dit e-mailadres is al in gebruik. Wachtwoord vergeten? Deze server wil graag weten of u geen robot bent - Het e-mailadres dat aan uw account gekoppeld is moet ingevoerd worden. Verifiëren van het e-mailadres is mislukt: zorg dat u op de koppeling in de e-mail hebt geklikt Voer een geldige URL in Ongeldige JSON @@ -356,7 +353,6 @@ Lawaaierig Versleuteld bericht Laden… - Gemeenschappen Schudden om een probleem te melden Weet u zeker dat u een spraakoproep wilt beginnen\? Weet u zeker dat u een video-oproep wilt beginnen\? @@ -783,7 +779,6 @@ Wijzigen Wijzig netwerk Even wachten… - Alle Gemeenschappen Dit gesprek kan niet worden voorvertoond Gesprekken Directe Berichten @@ -2420,7 +2415,6 @@ Voeg een profielfoto toe U kunt dit later wijzigen Weergavenaam - Dit wordt weergegeven wanneer u berichten verzendt. Kies een weergavenaam Uw account %s is aangemaakt Gefeliciteerd! @@ -2482,7 +2476,6 @@ Bezet Back-up heeft een geldige handtekening van deze persoon. %1$s geleden bijgewerkt - Stop met delen Tijdelijke implementatie: locaties blijven bestaan in kamergeschiedenis Live locatie delen inschakelen %1$s te gaan @@ -2603,4 +2596,4 @@ %1$s en %2$s E-mailadres niet geverifieerd, controleer je inbox - \ No newline at end of file + diff --git a/vector/src/main/res/values-nn/strings.xml b/vector/src/main/res/values-nn/strings.xml index c7d96037e2..a56ba0ac30 100644 --- a/vector/src/main/res/values-nn/strings.xml +++ b/vector/src/main/res/values-nn/strings.xml @@ -90,8 +90,6 @@ Berre Matrix-kontaktar Ingen treff Rom - - Fellesskap Send loggar Send krasjrapportar Send skjermbilde @@ -131,7 +129,6 @@ Gløymt passord\? Heimtenaren ynskjer å stadfeste at du ikkje er ein robot - Du må skriva inn e-postadressa som er knytt til brukaren din. Fekk ikkje til å stadfesta e-postadressa: sjå til at du klikka på lenken i e-posten Skriv inn ein gyldig URL Feilformatert JSON diff --git a/vector/src/main/res/values-pl/strings.xml b/vector/src/main/res/values-pl/strings.xml index 71669740db..ecc9316084 100644 --- a/vector/src/main/res/values-pl/strings.xml +++ b/vector/src/main/res/values-pl/strings.xml @@ -53,8 +53,6 @@ \nImportowanie zaproszonych pokojów Wstępna synchronizacja: \nImportowanie opuszczonych pokojów - Wstępna synchronizacja: -\nImportowanie grup Wstępna synchronizacja: \nImportowanie danych Konta Wysyłanie wiadomości… @@ -123,7 +121,6 @@ Ten adres e-mail został już użyty. Zapomniałeś(-aś) hasła? Serwer domowy prosi o potwierdzenie, że nie jesteś robotem - Musi zostać wprowadzony e-mail powiązany z kontem. Nie udało się zweryfikować adresu e-mail: upewnij się, że kliknąłeś w odnośnik z wiadomości Proszę wprowadzić prawidłowy adres URL Nie zawiera prawidłowego JSON @@ -268,7 +265,6 @@ Ciche powiadomienia Zgłoś błąd Wczytywanie… - Społeczności Potrząśnij wściekle, aby zgłosić błąd Czy jesteś pewien, że chcesz rozpocząć rozmowę głosową? Czy jesteś pewien, że chcesz rozpocząć wideorozmowę? @@ -552,7 +548,6 @@ Pokoje Dodaj reakcję Utwórz nowy pokój - Wszystkie społeczności Wiadomości Bezpośrednie STWÓRZ Nazwa @@ -2385,7 +2380,6 @@ Możesz zmienić ją później Powiadomienie pokoju Wyświetlana nazwa - Będzie ona widoczna podczas wysyłania wiadomości. Wybierz wyświetlaną nazwę Twoje konto %s zostało utworzone Gratulacje! @@ -2577,7 +2571,6 @@ Zaktualizowano %1$s temu %1$s pozostało Na żywo do %1$s - Przestań udostępniać Tymczasowa implementacja: lokalizacje pozostaną w historii pokoju Włącz udostępnianie lokalizacji na żywo Pokaż lokalizację na żywo @@ -2693,4 +2686,4 @@ %1$s i %2$s Email nie został zweryfikowany, sprawdź swoją skrzynkę - \ No newline at end of file + diff --git a/vector/src/main/res/values-pt-rBR/strings.xml b/vector/src/main/res/values-pt-rBR/strings.xml index f8a1fdeaa5..a148ea90cb 100644 --- a/vector/src/main/res/values-pt-rBR/strings.xml +++ b/vector/src/main/res/values-pt-rBR/strings.xml @@ -102,8 +102,6 @@ \nImportando salas convidadas Sinc inicial: \nImportando salas saídas - Sinc inicial: -\nImportando comunidades Sinc inicial: \nImportando dados de conta Enviando mensagem… @@ -293,7 +291,6 @@ Este endereço de email já está definido. Esqueceu senha\? Este servidorcasa gostaria de assegurar que você não é um robô - O endereço de email linkado a sua conta deve ser entrado. Falha para verificar endereço de email: assegure-se que clicou no link no email Por favor entre um URL válido JSON malformado @@ -472,7 +469,6 @@ Notificações silenciosas Reporte de bug Carregando… - Comunidades Você tem certeza que você quer começar uma chamada de voz\? Você tem certeza que você quer começar uma chamada de vídeo\? Tirar foto @@ -992,7 +988,6 @@ Mudar Mudar rede Por favor espere… - Todas as Comunidades Esta sala não pode ser previsualizada Salas Mensagens Diretas @@ -2432,7 +2427,6 @@ Adicione uma imagem de perfil Você pode mudar isto mais tarde Nome de Exibição - Isto vai ser mostrado quando você enviar mensagens. Escolha um nome de exibição Sua conta %s tem sido criada Parabéns! @@ -2482,7 +2476,6 @@ Ocupada(o) Backup tem uma assinatura válida desta(e) usuária(o). Atualizada %1$s atrás - Parar de compartilhar Implementação tempoária: locais persistem em histórico de sala Habilitar Compartilhament de Localização Ao Vivo %1$s restando diff --git a/vector/src/main/res/values-pt/strings.xml b/vector/src/main/res/values-pt/strings.xml index c5f6329f3d..4daaef83b0 100644 --- a/vector/src/main/res/values-pt/strings.xml +++ b/vector/src/main/res/values-pt/strings.xml @@ -107,7 +107,6 @@ Esqueceu-se da palavra-passe? Este servidor quer ter a certeza de que você não é um robô - O endereço de e-mail associado à sua conta tem que ser introduzido. Falha ao verificar o endereço de e-mail: verifique se clicou no link no e-mail Introduza um URL válido @@ -316,7 +315,6 @@ Note que esta acção irá reiniciar a aplicação e poderá levar algum tempo.< Descarregar Erro Alertas de Sistema - Comunidades Se possível, escrever a descrição em inglês. Agitar furiosamente para relatar um erro Enviar voz diff --git a/vector/src/main/res/values-ro/strings.xml b/vector/src/main/res/values-ro/strings.xml index 09a5863b77..01e4761983 100644 --- a/vector/src/main/res/values-ro/strings.xml +++ b/vector/src/main/res/values-ro/strings.xml @@ -267,8 +267,6 @@ Mesaj trimis Sincronizare inițială: \nSe importă datele contului - Sincronizare inițială: -\nSe importă comunitățile Sincronizare inițială: \nSe importă camerele pe care le-ați părăsit Sincronizare inițială: @@ -403,4 +401,4 @@ %1$s s-a alăturat camerei. Motivul: %2$s %1$s te-a invitat. Motivul: %2$s %1$s la invitat pe %2$s. Motivul este: %3$s - \ No newline at end of file + diff --git a/vector/src/main/res/values-ru/strings.xml b/vector/src/main/res/values-ru/strings.xml index 96aacb7e26..01ce2f1bf6 100644 --- a/vector/src/main/res/values-ru/strings.xml +++ b/vector/src/main/res/values-ru/strings.xml @@ -52,8 +52,6 @@ \nИмпорт приглашенных комнат Начальная синхронизация: \nИмпорт покинутых комнат - Начальная синхронизация: -\nИмпорт сообществ Начальная синхронизация: \nИмпорт данных учётной записи %s обновил эту комнату. @@ -307,7 +305,6 @@ Этот адрес электронной почты уже используется. Забыли пароль? Этот домашний сервер хочет убедиться, что вы не робот - Должен быть введен адрес электронной почты привязанный к учетной записи. Не удалось проверить адрес электронной почты: убедитесь, что вы перешли по ссылке из сообщения Пожалуйста, введите корректный URL Неверный формат JSON @@ -513,7 +510,6 @@ Громко Зашифрованное сообщение Загрузка… - Сообщества Вы уверены, что хотите начать голосовой вызов? Вы уверены, что хотите начать видеовызов? Блокировка пользователя удалит его из этой комнаты и не позволит ему присоединиться вновь. @@ -916,7 +912,6 @@ Изменить Изменить сеть Пожалуйста, подождите… - Все сообщества Эту комнату нельзя предварительно просмотреть Комнаты Личные сообщения @@ -2487,7 +2482,6 @@ Добавить аватар Вы сможете изменить это позже Отображаемое имя - Показывается, когда вы отправляете сообщения. Выберите отображаемое имя Ваша учётная запись %s создана Поздравляем! @@ -2513,7 +2507,6 @@ Идёт отправка местоположения Осталось %1$s Обновлено %1$s назад - Остановить трансляцию Включить функцию \"Поделиться трансляцией местоположения\" ${app_name} Трансляция местоположения Транслировать до %1$s @@ -2667,4 +2660,4 @@ Не удалось загрузить карту \nВозможно, этот домашний сервер не настроен для отображения карт. Все Беседы - \ No newline at end of file + diff --git a/vector/src/main/res/values-sk/strings.xml b/vector/src/main/res/values-sk/strings.xml index 3ca5d6ee62..cb2d371ccc 100644 --- a/vector/src/main/res/values-sk/strings.xml +++ b/vector/src/main/res/values-sk/strings.xml @@ -53,8 +53,6 @@ \nImport pozvaných miestností Úvodná synchronizácia: \nPrebieha import opustených miestností - Úvodná synchronizácia: -\nPrebieha import komunít Úvodná synchronizácia: \nPrebieha import údajov účtu Odosielanie správy… @@ -246,7 +244,6 @@ Táto emailová adresa sa už používa. Zabudli ste heslo? Tento domovský server by sa rád uistil, že nieste robot - Musíte zadať emailovú adresu prepojenú s vašim účtom. Nepodarilo sa overiť emailovú adresu: Uistite sa, že ste správne klikli na odkaz v emailovej správe Zadajte platnú adresu URL Chybné údaje vo formáte JSON @@ -448,7 +445,6 @@ Hlasné Šifrovaná správa Načítavanie… - Komunity Ste si istý, že chcete začať hlasový hovor? Ste si istí, že chcete začať video hovor? Zakázanie používateľa ho odstráni z tejto miestnosti a zabráni mu v ďalšom vstupe. @@ -972,7 +968,6 @@ Zmeniť Zmeniť sieť Prosím čakajte… - Všetky komunity Nie je možné zobraziť náhľad tejto miestnosti Miestnosti Priame konverzácie @@ -2480,7 +2475,6 @@ Pridať profilový obrázok Neskôr to môžete zmeniť Zobrazované meno - Toto sa zobrazí pri odosielaní správ. Vyberte si zobrazované meno Gratulujeme! Zober ma domov @@ -2529,7 +2523,6 @@ Obsadený/zaneprázdnený Zálohovanie má platný podpis od tohto používateľa. Aktualizované pred %1$s - Zastaviť zdieľanie Dočasná implementácia: polohy pretrvávajú v histórii miestnosti Povoliť zdieľanie polohy v reálnom čase ostáva %1$s @@ -2657,4 +2650,4 @@ \nTento domovský server nemusí byť nakonfigurovaný na zobrazovanie máp. Otvoriť nastavenia Všetky konverzácie - \ No newline at end of file + diff --git a/vector/src/main/res/values-sq/strings.xml b/vector/src/main/res/values-sq/strings.xml index 80b6b27793..8fdf4ee310 100644 --- a/vector/src/main/res/values-sq/strings.xml +++ b/vector/src/main/res/values-sq/strings.xml @@ -53,8 +53,6 @@ \nPo importohen dhoma me ftesë Njëkohësimi fillestar: \nPo importohen dhoma të braktisura - Njëkohësimi fillestar: -\nPo importohen bashkësi Njëkohësimi fillestar: \nPo importohet të dhëna llogarie Po dërgohet mesazh… @@ -266,7 +264,6 @@ Vetëm kontakte të Matrix-it S’ka përfundime Dhoma - Bashkësi Dërgo regjistra Dërgoni regjistrime vithisjesh Dërgo foto ekrani @@ -293,7 +290,6 @@ Kjo adresë email është e përkufizuar tashmë. Harruat fjalëkalimin? Ky shërbyes Home do të donte të sigurohej se s’jeni robot - Duhet dhënë adresa email e lidhur me llogarinë tuaj. Ju lutemi, jepni një URL të vlefshme JSON e keqformuar S’përmbante JSON të vlefshëm @@ -871,7 +867,6 @@ Ndryshoje Ndryshoni rrjetin Ju lutemi, pritni… - Krejt Bashkësitë Kjo dhomë s’mund të parashihet Dhoma Mesazhe të Drejtpërdrejtë @@ -2423,7 +2418,6 @@ Shtoni një foto profili Këtë mund ta ndryshoni më vonë Emër Në Ekran - Kjo do të shfaqet kur dërgoni mesazhe. Zgjidhni një emër për në ekran Llogaria juaj %s u krijua. Përgëzime! diff --git a/vector/src/main/res/values-sr/strings.xml b/vector/src/main/res/values-sr/strings.xml index 69265899af..fcaf45aaa3 100644 --- a/vector/src/main/res/values-sr/strings.xml +++ b/vector/src/main/res/values-sr/strings.xml @@ -128,8 +128,6 @@ %1$s - позивница. Разлог: %2$s Почетна синхронизација: \nувозим податке о налогу - Почетна синхронизација: -\nувозим заједнице Почетна синхронизација: \nувозим напуштене собе Почетна синхронизација: @@ -326,8 +324,6 @@ Шаљи снимак екрана Слање записника грешке Слање записника - Заједнице - Нема више резултата Системска упозорења Обавештења @@ -386,7 +382,6 @@ Укључите историју размене кључева Састанци користе Jitsi безбедносне и допунске политике. Сви људи тренутно у соби видеће позив да се придруже састанку. Није успело верификовати имејл адресу: обавезно кликните на линк из примљеног имејла - Мора се унети имејл адреса коришћена са вашим налогом. Овај кућни сервер жели да се увери да нисте робот Заборавили сте лозинку\? Овај број телефона је већ коришћен. @@ -505,4 +500,4 @@ Информација - \ No newline at end of file + diff --git a/vector/src/main/res/values-sv/strings.xml b/vector/src/main/res/values-sv/strings.xml index f797974e87..025713272c 100644 --- a/vector/src/main/res/values-sv/strings.xml +++ b/vector/src/main/res/values-sv/strings.xml @@ -102,8 +102,6 @@ \nImporterar inbjudna rum Inledande synk: \nImporterar lämnade rum - Inledande synk: -\nImporterar gemenskaper Inledande synk: \nImporterar kontodata Skickar meddelande… @@ -294,7 +292,6 @@ Bara Matrix-kontakter Inga resultat Rum - Gemenskaper Skicka loggar Skicka kraschloggar Skicka skärmdump @@ -336,7 +333,6 @@ Den här e-postadressen är redan definierad. Glömt lösenordet\? Denna hemserver skulle vilja verifiera att du inte är en robot - Du måste skriva in e-postadressen länkad till ditt konto. Misslyckades att verifiera e-postadressen: se till att du klickade på länken i e-brevet Vänligen granska och acceptera villkoren för denna hemserver: Vänligen skriv in en giltig URL @@ -454,7 +450,6 @@ \nLagra din återställningsnyckel på något säkert ställe, t.ex. en lösenordshanterare (eller ett kassaskåp) Lagra din återställningsnyckel på något säkert ställe, t.ex. en lösenordshanterare (eller ett kassaskåp) Byt nätverk - Alla gemenskaper Allmänt Alternativ Namn eller ID (#example:matrix.org) @@ -2432,7 +2427,6 @@ Lägg till en profilbild Du kan ändra detta senare Visningsnamn - Det här kommer att visas när du skickar meddelanden. Välj ett visningsnamn Ditt konto %s har skapats Grattis! @@ -2482,7 +2476,6 @@ Upptagen Säkerhetskopian har en giltig signatur från den här användaren. Uppdaterades för %1$s sen - Sluta dela Temporär implementation: platser ligger kvar i rumshistoriken Aktivera platsdelning i realtid %1$s kvar @@ -2588,4 +2581,4 @@ Välj manuellt Ställ in automatiskt Välj teckenstorlek - \ No newline at end of file + diff --git a/vector/src/main/res/values-te/strings.xml b/vector/src/main/res/values-te/strings.xml index b53d568b2b..5ed2462ce8 100644 --- a/vector/src/main/res/values-te/strings.xml +++ b/vector/src/main/res/values-te/strings.xml @@ -125,7 +125,6 @@ ఇది చెల్లుబాటు అయ్యే ఇమెయిల్ చిరునామా లాగా లేదు ఈ ఇమెయిల్ చిరునామా ఇప్పటికే నిర్వచించబడింది. ఈ హోమ్ సర్వర్ మీరు రోబోట్ కాదని నిర్ధారించుకోవాలనుకుంటుంది - మీ ఖాతాకు లంకె చేయబడిన ఇమెయిల్ చిరునామా తప్పక ఇవ్వాలి. ఇమెయిల్ చిరునామాను ధృవీకరించడంలో విఫలమైంది: మీరు ఇమెయిల్ లో లంకెను క్లిక్ చేసారా లేదా అని నిర్ధారించుకోండి చెల్లుబాటు అయ్యే URL ను ఇవ్వండి తప్పు JSON diff --git a/vector/src/main/res/values-th/strings.xml b/vector/src/main/res/values-th/strings.xml index b1e69355b1..d189471cea 100644 --- a/vector/src/main/res/values-th/strings.xml +++ b/vector/src/main/res/values-th/strings.xml @@ -27,8 +27,6 @@ คำเชิญ การแจ้งเตือนจากระบบ ไม่มีผลลัพธ์ - - ชุมชน ถ้าเป็นไปได้ โปรดเขียนคำอธิบายเป็นภาษาอังกฤษ อธิบายปัญหาของคุณที่นี่ เข้าร่วมห้อง @@ -190,4 +188,4 @@ ค่าใหม่ สลับ ไดเรกทอรีห้อง - \ No newline at end of file + diff --git a/vector/src/main/res/values-tlh/strings.xml b/vector/src/main/res/values-tlh/strings.xml index 793c4c32e7..9e9f7ed4e8 100644 --- a/vector/src/main/res/values-tlh/strings.xml +++ b/vector/src/main/res/values-tlh/strings.xml @@ -52,10 +52,6 @@ gher\'ID tu\'lu\'be\' pa\'mey - - - tuqmey - QonoS ngeH vonlu\' QonoS ngeH jIH mIllogh ngeH diff --git a/vector/src/main/res/values-tr/strings.xml b/vector/src/main/res/values-tr/strings.xml index ddc226c1ab..c097bfce6a 100644 --- a/vector/src/main/res/values-tr/strings.xml +++ b/vector/src/main/res/values-tr/strings.xml @@ -48,7 +48,6 @@ Sadece Matrix kullanıcıları Sonuç bulunamadı Odalar - Topluluk Sistem günlüğünü (log) gönder Çökme günlüğünü (crash log) gönder Ekran görüntüsünü gönder @@ -115,7 +114,6 @@ Bu e-posta adresi zaten tanımlanmış. Şifreni mi unuttun\? Bu ana sunucu bir robot olmadığından emin olmak istiyor - Hesaba bağlı e-posta adresi mutlaka girilmeli. E-posta doğrulaması başarısız: e-postanızdaki bağlantıya tıkladığınızdan emin olun Lütfen ana sunucunun ilkelerini gözden geçirin ve kabul edin: Lütfen geçerli bir URL girin @@ -695,7 +693,6 @@ Değiştir Ağı değiştir Lütfen bekleyin… - Tüm Topluluklar Bu oda ön izlenemez Odalar Doğrudan Mesajlar @@ -1361,8 +1358,6 @@ Mesajı gönderildi İlk senkronizasyon: \nHesap verilerini içe aktarma - İlk senkronizasyon: -\nToplulukları içe aktarma İlk senkronizasyon: \nSol odalar içe aktarılıyor İlk senkronizasyon: @@ -1739,4 +1734,4 @@ Konuları Görüntüle Başlangıç eşitleme isteği Tüm Sohbetler - \ No newline at end of file + diff --git a/vector/src/main/res/values-uk/strings.xml b/vector/src/main/res/values-uk/strings.xml index 706e18fc63..bf786be0c4 100644 --- a/vector/src/main/res/values-uk/strings.xml +++ b/vector/src/main/res/values-uk/strings.xml @@ -111,8 +111,6 @@ Ваше запрошення. Причина: %1$s Запрошення від %1$s. Причина: %2$s Надсилання повідомлень… - Початкова синхронізація: -\nІмпортування спільнот Початкова синхронізація: \nІмпортування кімнат, які ви залишили Початкова синхронізація: @@ -213,7 +211,6 @@ Ця email адреса вже використовується. Забули пароль? Цей домашній сервер хоче переконатися, що ви не робот - Необхідно ввести е-пошту прив\'язану до вашого облікового запису. Не вдалося перевірити email: переконайтеся, що ви перейшли за посиланням у листі Введіть дійсний URL Викривлений JSON @@ -414,7 +411,6 @@ Помилка виконання команди Команду %s не розпізнано Завантаження… - Спільноти Струснути пристрій, щоб повідомити про ваду Ви впевнені, що бажаєте розпочати голосовий виклик\? Ви впевнені, що бажаєте розпочати відео виклик\? @@ -665,7 +661,6 @@ 🔐️ Приєднуйтесь до мене в ${app_name} Привіт! Спілкуймося в ${app_name}: %s Запросити друзів - Всі спільноти Показувати заглушку на місці видалених повідомлень Загальні Не вдалось надіслати пропозицію (%s) @@ -2526,7 +2521,6 @@ Додати зображення профілю Ви можете змінити його пізніше Показуване ім\'я - Його буде показано у надісланих повідомленнях. Виберіть показуване ім\'я Ваш обліковий запис %s створений Вітаємо! @@ -2576,7 +2570,6 @@ Зайнятий Резервна копія має дійсний підпис від цього користувача. Оновлено %1$s тому - Припинити поширення Тимчасова реалізація: місця зберігаються в історії кімнат Увімкнути поширення місцеперебування наживо Залишилося %1$s @@ -2707,4 +2700,4 @@ \nМожливо, цей домашній сервер не налаштовано для показу карт. Відкрити налаштування Усі бесіди - \ No newline at end of file + diff --git a/vector/src/main/res/values-vi/strings.xml b/vector/src/main/res/values-vi/strings.xml index 61b8728ca0..2803128843 100644 --- a/vector/src/main/res/values-vi/strings.xml +++ b/vector/src/main/res/values-vi/strings.xml @@ -8,7 +8,6 @@ Báo lỗi Gửi ảnh chụp màn hình Gửi lịch sử yêu cầu chia sẻ khóa - Cộng đồng Phòng Không còn kết quả nào nữa Bỏ qua @@ -328,7 +327,6 @@ Đang đợi tin nhắn này, việc này có thể mất một lúc Bạn đã rời phòng. Lý do: %1$s %1$s đã rời phòng. Lý do: %2$s - Địa chỉ email được liên kết đến tài khoản của bạn phải được nhập. Máy chủ nhà này muốn chắc chắn bạn không phải rô bốt Số điện thoại này đã được định nghĩa rồi. Địa chỉ email này đã được định nghĩa rồi. @@ -491,8 +489,6 @@ Đã gửi tin nhắn Đồng bộ ban đầu: \nĐang nhập dữ liệu tài khoản - Đồng bộ ban đầu: -\nĐang nhập các Community Đồng bộ ban đầu: \nĐang nhập các phòng đã rời khỏi Đồng bộ ban đầu: @@ -1846,7 +1842,6 @@ Căn phòng này không thể truy cập vào thời điểm này. \nHãy thử lại sau, hoặc yêu cầu quản trị viên phòng kiểm tra xem bạn có quyền truy cập hay không. Phòng này không thể được xem trước - Tất cả Community Vui lòng chờ… Thay đổi mạng Thay đổi @@ -2277,4 +2272,4 @@ Chọn cách nhận thông báo Phương thức thông báo Đặt lại phương thức thông báo - \ No newline at end of file + diff --git a/vector/src/main/res/values-vls/strings.xml b/vector/src/main/res/values-vls/strings.xml index 02902711f6..f84da57ccf 100644 --- a/vector/src/main/res/values-vls/strings.xml +++ b/vector/src/main/res/values-vls/strings.xml @@ -66,8 +66,6 @@ \nUutgenodigde gesprekkn wordn geïmporteerd Initiële synchronisoasje: \nVerloatn gesprekkn wordn geïmporteerd - Initiële synchronisoasje: -\nGemeenschappn wordn geïmporteerd Initiële synchronisoasje: \nAccountgegeevns wordn geïmporteerd diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index 1f8fd4c755..3083978734 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -52,8 +52,6 @@ \n正在导入已邀请的房间 初始化同步: \n正在导入已离开的房间 - 初始化同步: -\n正在导入社区 初始化同步: \n正在导入账户数据 %s 升级了此房间。 @@ -219,7 +217,6 @@ 此电子邮箱地址似乎无效 此电子邮箱地址已被使用。 忘记密码? - 必须输入与你账户关联的电子邮箱地址。 请输入有效的 URL 没有包含有效的 JSON 发送了过多的请求 @@ -461,7 +458,6 @@ %d 条新消息 - 社群 摇一摇快捷反馈问题 %d个成员状态变动 @@ -808,7 +804,6 @@ 创建新房间 修改 请稍候…… - 所有社群 无法预览此房间 房间 创建 @@ -2342,7 +2337,6 @@ 你需要有正确的权限,才能在这个房间里分享实时位置。 你没有权限分享实时位置 %1$s前已更新 - 停止分享 临时执行:地点在房间历史中持续存在 启用实时位置共享 位置共享正在进行中 @@ -2469,7 +2463,6 @@ 看起来不错! 走吧 你可以稍后更改这个 - 这会在你发送消息时显示。 用户名/电子邮件/电话号码 你是人类吗? 按照发送到%s的操作说明 @@ -2557,4 +2550,4 @@ \n此主服务器可能没有设置好显示地图。 打开设置 全部聊天 - \ No newline at end of file + diff --git a/vector/src/main/res/values-zh-rTW/strings.xml b/vector/src/main/res/values-zh-rTW/strings.xml index f1f1d633e6..91388ed561 100644 --- a/vector/src/main/res/values-zh-rTW/strings.xml +++ b/vector/src/main/res/values-zh-rTW/strings.xml @@ -52,8 +52,6 @@ \n正在匯入已邀請的聊天室 初始化同步: \n正在匯入已離開的聊天室 - 初始化同步: -\n正在匯入社群 初始化同步: \n正在匯入帳號資料 %s 已升級此聊天室。 @@ -264,7 +262,6 @@ 僅 Matrix 聯絡人 沒有結果 聊天室 - 社群 傳送記錄 傳送當機紀錄 傳送螢幕截圖 @@ -298,7 +295,6 @@ 此電子郵件位址已經被定義。 忘記密碼? 這個家伺服器想要確定您不是機器人 - 必須輸入和您帳號關聯的電子郵件地址。 電子郵件地址驗證失敗: 請確保您已點擊郵件中的連結 請輸入有效的網址 異常的 JSON @@ -858,7 +854,6 @@ 變更 變更網路 請稍候…… - 所有社群 無法預覽此聊天室 聊天室 直接訊息 @@ -2385,7 +2380,6 @@ 新增個人資訊照片 您可以在稍後變更這個 顯示名稱 - 這將會在您傳送訊息時顯示。 選擇顯示名稱 您的帳號 %s 已建立 恭喜! @@ -2435,7 +2429,6 @@ 忙碌 備份具有來自該使用者的有效簽名。 %1$s 前已更新 - 停止分享 暫時的實作:位置會保留在聊天室歷史紀錄中 啟用即時位置分享 剩餘 %1$s @@ -2557,4 +2550,4 @@ \n此家伺服器可能未設定好顯示地圖。 開啟設定 所有聊天 - \ No newline at end of file + diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml index 0b62c16f92..980524dee8 100644 --- a/vector/src/main/res/values/strings.xml +++ b/vector/src/main/res/values/strings.xml @@ -179,8 +179,6 @@ Initial sync:\nLoading your conversations\nIf you\'ve joined lots of rooms, this might take a while Initial sync:\nImporting invited rooms Initial sync:\nImporting left rooms - - Initial sync:\nImporting communities Initial sync:\nImporting account data Initial sync request @@ -456,10 +454,6 @@ Show rooms with explicit content Show all rooms in the room directory, including rooms with explicit content. - - - Communities - Spaces Send logs @@ -536,9 +530,6 @@ This phone number is already defined. Forgot password? This homeserver would like to make sure you are not a robot - - - The email address linked to your account must be entered. Failed to verify email address: make sure you clicked the link in the email Email not verified, check your inbox "Please review and accept the policies of this homeserver:" @@ -1648,9 +1639,6 @@ "Change network" "Please wait…" Updating your data… - - "All Communities" - "This room can't be previewed" This room is not accessible at this time.\nTry again later, or ask a room admin to check if you have access. "This room can't be previewed. Do you want to join it?" @@ -2011,9 +1999,6 @@ Choose a display name - - - This will be shown when you send messages. Display Name You can change this later @@ -3153,8 +3138,6 @@ Location sharing is in progress Enable Live Location Sharing Temporary implementation: locations persist in room history - - Stop sharing Updated %1$s ago You don’t have permission to share live location You need to have the right permissions in order to share live location in this room. From 7883a6c61775192fd4fda710ec190154792bc458 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 15:16:12 +0200 Subject: [PATCH 48/63] Rename gl to gl-ES to be PlayStore compatible, and unignore this language. --- fastlane/metadata/android/{gl => gl-ES}/changelogs/40104160.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104180.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104190.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104200.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104220.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104230.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104240.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104250.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104260.txt | 0 fastlane/metadata/android/{gl => gl-ES}/changelogs/40104270.txt | 0 fastlane/metadata/android/{gl => gl-ES}/full_description.txt | 0 fastlane/metadata/android/{gl => gl-ES}/short_description.txt | 0 fastlane/metadata/android/{gl => gl-ES}/title.txt | 0 tools/release/pushPlayStoreMetaData.sh | 1 - 14 files changed, 1 deletion(-) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104160.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104180.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104190.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104200.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104220.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104230.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104240.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104250.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104260.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/changelogs/40104270.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/full_description.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/short_description.txt (100%) rename fastlane/metadata/android/{gl => gl-ES}/title.txt (100%) diff --git a/fastlane/metadata/android/gl/changelogs/40104160.txt b/fastlane/metadata/android/gl-ES/changelogs/40104160.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104160.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104160.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104180.txt b/fastlane/metadata/android/gl-ES/changelogs/40104180.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104180.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104180.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104190.txt b/fastlane/metadata/android/gl-ES/changelogs/40104190.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104190.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104190.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104200.txt b/fastlane/metadata/android/gl-ES/changelogs/40104200.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104200.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104200.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104220.txt b/fastlane/metadata/android/gl-ES/changelogs/40104220.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104220.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104220.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104230.txt b/fastlane/metadata/android/gl-ES/changelogs/40104230.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104230.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104230.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104240.txt b/fastlane/metadata/android/gl-ES/changelogs/40104240.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104240.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104240.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104250.txt b/fastlane/metadata/android/gl-ES/changelogs/40104250.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104250.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104250.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104260.txt b/fastlane/metadata/android/gl-ES/changelogs/40104260.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104260.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104260.txt diff --git a/fastlane/metadata/android/gl/changelogs/40104270.txt b/fastlane/metadata/android/gl-ES/changelogs/40104270.txt similarity index 100% rename from fastlane/metadata/android/gl/changelogs/40104270.txt rename to fastlane/metadata/android/gl-ES/changelogs/40104270.txt diff --git a/fastlane/metadata/android/gl/full_description.txt b/fastlane/metadata/android/gl-ES/full_description.txt similarity index 100% rename from fastlane/metadata/android/gl/full_description.txt rename to fastlane/metadata/android/gl-ES/full_description.txt diff --git a/fastlane/metadata/android/gl/short_description.txt b/fastlane/metadata/android/gl-ES/short_description.txt similarity index 100% rename from fastlane/metadata/android/gl/short_description.txt rename to fastlane/metadata/android/gl-ES/short_description.txt diff --git a/fastlane/metadata/android/gl/title.txt b/fastlane/metadata/android/gl-ES/title.txt similarity index 100% rename from fastlane/metadata/android/gl/title.txt rename to fastlane/metadata/android/gl-ES/title.txt diff --git a/tools/release/pushPlayStoreMetaData.sh b/tools/release/pushPlayStoreMetaData.sh index 5c2f69cb7b..2d8fd9b36a 100755 --- a/tools/release/pushPlayStoreMetaData.sh +++ b/tools/release/pushPlayStoreMetaData.sh @@ -28,7 +28,6 @@ mv ./fastlane/metadata/android/fy ./fastlane_tmp mv ./fastlane/metadata/android/ga ./fastlane_tmp mv ./fastlane/metadata/android/kab ./fastlane_tmp mv ./fastlane/metadata/android/nb ./fastlane_tmp -mv ./fastlane/metadata/android/gl ./fastlane_tmp # Fastlane / PlayStore require longDescription and shortDescription file to be set, so copy the default # one for languages where they are missing From 203a262c66d9b51d708e888b534d59b8a5542552 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 15:21:44 +0200 Subject: [PATCH 49/63] Add a step in the recipe --- .github/ISSUE_TEMPLATE/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/release.yml b/.github/ISSUE_TEMPLATE/release.yml index b063c93530..b28dbbde69 100644 --- a/.github/ISSUE_TEMPLATE/release.yml +++ b/.github/ISSUE_TEMPLATE/release.yml @@ -21,6 +21,8 @@ body: - [ ] While Weblate is locked, and after the PR from Weblate has been merged, handle all the TODOs in the main `strings.xml` file - [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect. + - [ ] Ensure all [the required PRs](https://github.com/vector-im/element-android/pulls?q=is%3Aopen+is%3Apr+label%3AZ-NextRelease) have been merged + ### Do the release - [ ] Make sure `develop` and `main` are up to date (git pull) From 58954ed59030f7f137bfa9f80fd718ccab64fce9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 15:33:36 +0200 Subject: [PATCH 50/63] Fix Exception: java.lang.IllegalArgumentException: Configurations cannot be different if used to open the same file. See for instance https://github.com/matrix-org/element-android-rageshakes/issues/41975 --- .../internal/database/RealmCompactOnLaunch.kt | 29 +++++++++++++++++++ .../SessionRealmConfigurationFactory.kt | 3 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt new file mode 100644 index 0000000000..2cdbff4f5a --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2022 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.database + +import io.realm.DefaultCompactOnLaunchCallback +import javax.inject.Inject + +class RealmCompactOnLaunch @Inject constructor() : DefaultCompactOnLaunchCallback() { + /** + * Forces all RealmCompactOnLaunch instances to be equal. + * Avoids Realm throwing when multiple instances of this class are used. + */ + override fun equals(other: Any?) = other is RealmSessionStoreMigration + override fun hashCode() = 0x1000 +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt index 5a0fd74bc0..bee629fd03 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt @@ -41,6 +41,7 @@ private const val REALM_NAME = "disk_store.realm" internal class SessionRealmConfigurationFactory @Inject constructor( private val realmKeysUtils: RealmKeysUtils, private val realmSessionStoreMigration: RealmSessionStoreMigration, + private val realmCompactOnLaunch: RealmCompactOnLaunch, @SessionFilesDirectory val directory: File, @SessionId val sessionId: String, @UserMd5 val userMd5: String, @@ -64,7 +65,7 @@ internal class SessionRealmConfigurationFactory @Inject constructor( } val realmConfiguration = RealmConfiguration.Builder() - .compactOnLaunch() + .compactOnLaunch(realmCompactOnLaunch) .directory(directory) .name(REALM_NAME) .apply { From 033557dba4d9a801ff6792459fb6b4a03ba567a3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 16:07:57 +0200 Subject: [PATCH 51/63] Towncrier --- CHANGES.md | 48 ++++++++++++++++++++++++++++++++++++++++ changelog.d/5525.wip | 1 - changelog.d/5974.misc | 1 - changelog.d/6505.wip | 1 - changelog.d/6506.wip | 1 - changelog.d/6645.misc | 1 - changelog.d/6693.feature | 1 - changelog.d/6718.bugfix | 1 - changelog.d/6746.feature | 1 - changelog.d/6749.wip | 1 - changelog.d/6783.misc | 1 - changelog.d/6786.misc | 1 - changelog.d/6787.wip | 1 - changelog.d/6795.wip | 1 - changelog.d/6798.wip | 1 - changelog.d/6799.misc | 1 - changelog.d/6801.wip | 1 - changelog.d/6806.wip | 1 - changelog.d/6808.misc | 1 - changelog.d/6827.bugfix | 1 - changelog.d/6836.bugfix | 1 - changelog.d/6843.misc | 1 - changelog.d/6855.bugfix | 1 - changelog.d/6859.wip | 1 - changelog.d/6860.bugfix | 1 - changelog.d/6861.bugfix | 1 - changelog.d/6864.bugfix | 1 - changelog.d/6884.bugfix | 1 - changelog.d/6884.sdk | 1 - changelog.d/6891.bugfix | 1 - 30 files changed, 48 insertions(+), 29 deletions(-) delete mode 100644 changelog.d/5525.wip delete mode 100644 changelog.d/5974.misc delete mode 100644 changelog.d/6505.wip delete mode 100644 changelog.d/6506.wip delete mode 100644 changelog.d/6645.misc delete mode 100644 changelog.d/6693.feature delete mode 100644 changelog.d/6718.bugfix delete mode 100644 changelog.d/6746.feature delete mode 100644 changelog.d/6749.wip delete mode 100644 changelog.d/6783.misc delete mode 100644 changelog.d/6786.misc delete mode 100644 changelog.d/6787.wip delete mode 100644 changelog.d/6795.wip delete mode 100644 changelog.d/6798.wip delete mode 100644 changelog.d/6799.misc delete mode 100644 changelog.d/6801.wip delete mode 100644 changelog.d/6806.wip delete mode 100644 changelog.d/6808.misc delete mode 100644 changelog.d/6827.bugfix delete mode 100644 changelog.d/6836.bugfix delete mode 100644 changelog.d/6843.misc delete mode 100644 changelog.d/6855.bugfix delete mode 100644 changelog.d/6859.wip delete mode 100644 changelog.d/6860.bugfix delete mode 100644 changelog.d/6861.bugfix delete mode 100644 changelog.d/6864.bugfix delete mode 100644 changelog.d/6884.bugfix delete mode 100644 changelog.d/6884.sdk delete mode 100644 changelog.d/6891.bugfix diff --git a/CHANGES.md b/CHANGES.md index 829b1a0caa..66178c86fb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,51 @@ +Changes in Element v1.4.34 (2022-08-23) +======================================= + +Features ✨ +---------- + - Adds New App Layout FABs (hidden behind feature flag) ([#6693](https://github.com/vector-im/element-android/issues/6693)) + - [Notification] - Handle creation of notification for live location and poll start ([#6746](https://github.com/vector-im/element-android/issues/6746)) + +Bugfixes 🐛 +---------- + - Fixes onboarding requiring matrix.org to be accessible on the first step, the server can now be manually changed ([#6718](https://github.com/vector-im/element-android/issues/6718)) + - Fixing sign in/up for homeservers that rely on the SSO fallback url ([#6827](https://github.com/vector-im/element-android/issues/6827)) + - Fixes uncaught exceptions in the SyncWorker to cause the worker to become stuck in the failure state ([#6836](https://github.com/vector-im/element-android/issues/6836)) + - Fixes onboarding captcha crashing when no WebView is available by showing an error with information instead ([#6855](https://github.com/vector-im/element-android/issues/6855)) + - Removes ability to continue registration after the app has been destroyed, fixes the next steps crashing due to missing information from the previous steps ([#6860](https://github.com/vector-im/element-android/issues/6860)) + - Fixes crash when exiting the login or registration entry screens whilst they're loading ([#6861](https://github.com/vector-im/element-android/issues/6861)) + - Fixes server selection being unable to trust certificates ([#6864](https://github.com/vector-im/element-android/issues/6864)) + - Ensure SyncThread is started when the app is launched after a Push has been received. ([#6884](https://github.com/vector-im/element-android/issues/6884)) + - Fixes missing firebase notifications after logging in when UnifiedPush distributor is installed ([#6891](https://github.com/vector-im/element-android/issues/6891)) + +In development 🚧 +---------------- + - Create DM room only on first message - Trigger the flow when the "Direct Message" action is selected from the room member details screen ([#5525](https://github.com/vector-im/element-android/issues/5525)) + - added filter tabs for new App layout's Home screen ([#6505](https://github.com/vector-im/element-android/issues/6505)) + - [App Layout] added dialog to configure app layout ([#6506](https://github.com/vector-im/element-android/issues/6506)) + - Adds space list bottom sheet for new app layout ([#6749](https://github.com/vector-im/element-android/issues/6749)) + - [App Layout] Dialpad moved from bottom navigation tab to a separate activity accessed via home screen context menu ([#6787](https://github.com/vector-im/element-android/issues/6787)) + - Makes toolbar switch title based on space in New App Layout ([#6795](https://github.com/vector-im/element-android/issues/6795)) + - [Devices management] Add a feature flag and empty screen for future new layout ([#6798](https://github.com/vector-im/element-android/issues/6798)) + - Adds new chat bottom sheet as the click action of the main FAB in the new app layout ([#6801](https://github.com/vector-im/element-android/issues/6801)) + - [Devices management] Other sessions section in new layout ([#6806](https://github.com/vector-im/element-android/issues/6806)) + - [New Layout] Adds space settings accessible through clicking the toolbar ([#6859](https://github.com/vector-im/element-android/issues/6859)) + +SDK API changes ⚠️ +------------------ + - Rename `DebugService.logDbUsageInfo` (resp. `Session.logDbUsageInfo`) to `DebugService.getDbUsageInfo` (resp. `Session.getDbUsageInfo`) and return a String instead of logging. The caller may want to log the String. ([#6884](https://github.com/vector-im/element-android/issues/6884)) + +Other changes +------------- + - Removes the Login2 proof of concept - replaced by the FTUE changes ([#5974](https://github.com/vector-im/element-android/issues/5974)) + - Enable auto-capitalization for Room creation Title field ([#6645](https://github.com/vector-im/element-android/issues/6645)) + - Decouples the variant logic from the vector module ([#6783](https://github.com/vector-im/element-android/issues/6783)) + - Add a developer setting to enable LeakCanary at runtime ([#6786](https://github.com/vector-im/element-android/issues/6786)) + - [Create Room] Reduce some boilerplate with room state event contents ([#6799](https://github.com/vector-im/element-android/issues/6799)) + - [Call] Memory leak after a call ([#6808](https://github.com/vector-im/element-android/issues/6808)) + - Fix some string template ([#6843](https://github.com/vector-im/element-android/issues/6843)) + + Changes in Element v1.4.32 (2022-08-10) ======================================= diff --git a/changelog.d/5525.wip b/changelog.d/5525.wip deleted file mode 100644 index 9ddfbab9a3..0000000000 --- a/changelog.d/5525.wip +++ /dev/null @@ -1 +0,0 @@ -Create DM room only on first message - Trigger the flow when the "Direct Message" action is selected from the room member details screen diff --git a/changelog.d/5974.misc b/changelog.d/5974.misc deleted file mode 100644 index d2ddef6f1d..0000000000 --- a/changelog.d/5974.misc +++ /dev/null @@ -1 +0,0 @@ -Removes the Login2 proof of concept - replaced by the FTUE changes diff --git a/changelog.d/6505.wip b/changelog.d/6505.wip deleted file mode 100644 index 1109c5fff1..0000000000 --- a/changelog.d/6505.wip +++ /dev/null @@ -1 +0,0 @@ -added filter tabs for new App layout's Home screen diff --git a/changelog.d/6506.wip b/changelog.d/6506.wip deleted file mode 100644 index 344c0bca2f..0000000000 --- a/changelog.d/6506.wip +++ /dev/null @@ -1 +0,0 @@ -[App Layout] added dialog to configure app layout diff --git a/changelog.d/6645.misc b/changelog.d/6645.misc deleted file mode 100644 index b24655879d..0000000000 --- a/changelog.d/6645.misc +++ /dev/null @@ -1 +0,0 @@ -Enable auto-capitalization for Room creation Title field diff --git a/changelog.d/6693.feature b/changelog.d/6693.feature deleted file mode 100644 index 5e905766a9..0000000000 --- a/changelog.d/6693.feature +++ /dev/null @@ -1 +0,0 @@ -Adds New App Layout FABs (hidden behind feature flag) diff --git a/changelog.d/6718.bugfix b/changelog.d/6718.bugfix deleted file mode 100644 index a7c4c503c7..0000000000 --- a/changelog.d/6718.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes onboarding requiring matrix.org to be accessible on the first step, the server can now be manually changed diff --git a/changelog.d/6746.feature b/changelog.d/6746.feature deleted file mode 100644 index 7869e7f57a..0000000000 --- a/changelog.d/6746.feature +++ /dev/null @@ -1 +0,0 @@ -[Notification] - Handle creation of notification for live location and poll start diff --git a/changelog.d/6749.wip b/changelog.d/6749.wip deleted file mode 100644 index d7fac1efc1..0000000000 --- a/changelog.d/6749.wip +++ /dev/null @@ -1 +0,0 @@ -Adds space list bottom sheet for new app layout diff --git a/changelog.d/6783.misc b/changelog.d/6783.misc deleted file mode 100644 index d1095c1203..0000000000 --- a/changelog.d/6783.misc +++ /dev/null @@ -1 +0,0 @@ -Decouples the variant logic from the vector module diff --git a/changelog.d/6786.misc b/changelog.d/6786.misc deleted file mode 100644 index a916336ae4..0000000000 --- a/changelog.d/6786.misc +++ /dev/null @@ -1 +0,0 @@ -Add a developer setting to enable LeakCanary at runtime diff --git a/changelog.d/6787.wip b/changelog.d/6787.wip deleted file mode 100644 index ace2b04d9e..0000000000 --- a/changelog.d/6787.wip +++ /dev/null @@ -1 +0,0 @@ -[App Layout] Dialpad moved from bottom navigation tab to a separate activity accessed via home screen context menu diff --git a/changelog.d/6795.wip b/changelog.d/6795.wip deleted file mode 100644 index da525a2c67..0000000000 --- a/changelog.d/6795.wip +++ /dev/null @@ -1 +0,0 @@ -Makes toolbar switch title based on space in New App Layout diff --git a/changelog.d/6798.wip b/changelog.d/6798.wip deleted file mode 100644 index a16270666b..0000000000 --- a/changelog.d/6798.wip +++ /dev/null @@ -1 +0,0 @@ -[Devices management] Add a feature flag and empty screen for future new layout diff --git a/changelog.d/6799.misc b/changelog.d/6799.misc deleted file mode 100644 index b756c2c07b..0000000000 --- a/changelog.d/6799.misc +++ /dev/null @@ -1 +0,0 @@ -[Create Room] Reduce some boilerplate with room state event contents diff --git a/changelog.d/6801.wip b/changelog.d/6801.wip deleted file mode 100644 index bb3bc9d7a1..0000000000 --- a/changelog.d/6801.wip +++ /dev/null @@ -1 +0,0 @@ -Adds new chat bottom sheet as the click action of the main FAB in the new app layout diff --git a/changelog.d/6806.wip b/changelog.d/6806.wip deleted file mode 100644 index 9b00139c62..0000000000 --- a/changelog.d/6806.wip +++ /dev/null @@ -1 +0,0 @@ -[Devices management] Other sessions section in new layout diff --git a/changelog.d/6808.misc b/changelog.d/6808.misc deleted file mode 100644 index 06eeff862b..0000000000 --- a/changelog.d/6808.misc +++ /dev/null @@ -1 +0,0 @@ -[Call] Memory leak after a call diff --git a/changelog.d/6827.bugfix b/changelog.d/6827.bugfix deleted file mode 100644 index 2c3e130aa3..0000000000 --- a/changelog.d/6827.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixing sign in/up for homeservers that rely on the SSO fallback url diff --git a/changelog.d/6836.bugfix b/changelog.d/6836.bugfix deleted file mode 100644 index 6fbcc35001..0000000000 --- a/changelog.d/6836.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes uncaught exceptions in the SyncWorker to cause the worker to become stuck in the failure state diff --git a/changelog.d/6843.misc b/changelog.d/6843.misc deleted file mode 100644 index 5382e27082..0000000000 --- a/changelog.d/6843.misc +++ /dev/null @@ -1 +0,0 @@ -Fix some string template diff --git a/changelog.d/6855.bugfix b/changelog.d/6855.bugfix deleted file mode 100644 index 63a62de986..0000000000 --- a/changelog.d/6855.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes onboarding captcha crashing when no WebView is available by showing an error with information instead diff --git a/changelog.d/6859.wip b/changelog.d/6859.wip deleted file mode 100644 index 02fc3616cd..0000000000 --- a/changelog.d/6859.wip +++ /dev/null @@ -1 +0,0 @@ -[New Layout] Adds space settings accessible through clicking the toolbar diff --git a/changelog.d/6860.bugfix b/changelog.d/6860.bugfix deleted file mode 100644 index 22e287c0b3..0000000000 --- a/changelog.d/6860.bugfix +++ /dev/null @@ -1 +0,0 @@ -Removes ability to continue registration after the app has been destroyed, fixes the next steps crashing due to missing information from the previous steps diff --git a/changelog.d/6861.bugfix b/changelog.d/6861.bugfix deleted file mode 100644 index 508325acc6..0000000000 --- a/changelog.d/6861.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes crash when exiting the login or registration entry screens whilst they're loading diff --git a/changelog.d/6864.bugfix b/changelog.d/6864.bugfix deleted file mode 100644 index 6db3d7c074..0000000000 --- a/changelog.d/6864.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes server selection being unable to trust certificates diff --git a/changelog.d/6884.bugfix b/changelog.d/6884.bugfix deleted file mode 100644 index 6c6b286688..0000000000 --- a/changelog.d/6884.bugfix +++ /dev/null @@ -1 +0,0 @@ -Ensure SyncThread is started when the app is launched after a Push has been received. diff --git a/changelog.d/6884.sdk b/changelog.d/6884.sdk deleted file mode 100644 index 0de43420f0..0000000000 --- a/changelog.d/6884.sdk +++ /dev/null @@ -1 +0,0 @@ -Rename `DebugService.logDbUsageInfo` (resp. `Session.logDbUsageInfo`) to `DebugService.getDbUsageInfo` (resp. `Session.getDbUsageInfo`) and return a String instead of logging. The caller may want to log the String. diff --git a/changelog.d/6891.bugfix b/changelog.d/6891.bugfix deleted file mode 100644 index b6b46e1d93..0000000000 --- a/changelog.d/6891.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes missing firebase notifications after logging in when UnifiedPush distributor is installed From 34fef8d1978064b859a0b9fd1dff193dd807a7ab Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 16:08:52 +0200 Subject: [PATCH 52/63] reorder changelog --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 66178c86fb..4615ec8ff0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,7 +3,6 @@ Changes in Element v1.4.34 (2022-08-23) Features ✨ ---------- - - Adds New App Layout FABs (hidden behind feature flag) ([#6693](https://github.com/vector-im/element-android/issues/6693)) - [Notification] - Handle creation of notification for live location and poll start ([#6746](https://github.com/vector-im/element-android/issues/6746)) Bugfixes 🐛 @@ -30,6 +29,7 @@ In development 🚧 - Adds new chat bottom sheet as the click action of the main FAB in the new app layout ([#6801](https://github.com/vector-im/element-android/issues/6801)) - [Devices management] Other sessions section in new layout ([#6806](https://github.com/vector-im/element-android/issues/6806)) - [New Layout] Adds space settings accessible through clicking the toolbar ([#6859](https://github.com/vector-im/element-android/issues/6859)) + - Adds New App Layout FABs (hidden behind feature flag) ([#6693](https://github.com/vector-im/element-android/issues/6693)) SDK API changes ⚠️ ------------------ From adcb3c594a5e0853e0aae869be98b32bbb93b5de Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 16:09:36 +0200 Subject: [PATCH 53/63] fastlane --- fastlane/metadata/android/en-US/changelogs/40104340.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40104340.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40104340.txt b/fastlane/metadata/android/en-US/changelogs/40104340.txt new file mode 100644 index 0000000000..61db61727a --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40104340.txt @@ -0,0 +1,2 @@ +Main changes in this version: Various bug fixes and stability improvements. +Full changelog: https://github.com/vector-im/element-android/releases From 6c2885ff39696ef3e75bc44c3dbd61b0349fcfb5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 16:25:47 +0200 Subject: [PATCH 54/63] Granfra's review --- .../android/sdk/internal/database/RealmCompactOnLaunch.kt | 5 ++--- .../internal/database/SessionRealmConfigurationFactory.kt | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt index 2cdbff4f5a..1efb2541a7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmCompactOnLaunch.kt @@ -17,13 +17,12 @@ package org.matrix.android.sdk.internal.database import io.realm.DefaultCompactOnLaunchCallback -import javax.inject.Inject -class RealmCompactOnLaunch @Inject constructor() : DefaultCompactOnLaunchCallback() { +class RealmCompactOnLaunch : DefaultCompactOnLaunchCallback() { /** * Forces all RealmCompactOnLaunch instances to be equal. * Avoids Realm throwing when multiple instances of this class are used. */ - override fun equals(other: Any?) = other is RealmSessionStoreMigration + override fun equals(other: Any?) = other is RealmCompactOnLaunch override fun hashCode() = 0x1000 } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt index bee629fd03..16a55c22ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt @@ -41,7 +41,6 @@ private const val REALM_NAME = "disk_store.realm" internal class SessionRealmConfigurationFactory @Inject constructor( private val realmKeysUtils: RealmKeysUtils, private val realmSessionStoreMigration: RealmSessionStoreMigration, - private val realmCompactOnLaunch: RealmCompactOnLaunch, @SessionFilesDirectory val directory: File, @SessionId val sessionId: String, @UserMd5 val userMd5: String, @@ -65,7 +64,7 @@ internal class SessionRealmConfigurationFactory @Inject constructor( } val realmConfiguration = RealmConfiguration.Builder() - .compactOnLaunch(realmCompactOnLaunch) + .compactOnLaunch(RealmCompactOnLaunch()) .directory(directory) .name(REALM_NAME) .apply { From 973a5f1d6ee75de2593443cc4d3e53f1477b8f64 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 17:02:24 +0200 Subject: [PATCH 55/63] Version++ --- matrix-sdk-android/build.gradle | 2 +- vector/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index aa8731da2a..fcd1e7d622 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -60,7 +60,7 @@ android { // that the app's state is completely cleared between tests. testInstrumentationRunnerArguments clearPackageData: 'true' - buildConfigField "String", "SDK_VERSION", "\"1.4.34\"" + buildConfigField "String", "SDK_VERSION", "\"1.4.36\"" buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\"" buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\"" diff --git a/vector/build.gradle b/vector/build.gradle index 7296262019..83d322946b 100644 --- a/vector/build.gradle +++ b/vector/build.gradle @@ -37,7 +37,7 @@ ext.versionMinor = 4 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -ext.versionPatch = 34 +ext.versionPatch = 36 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' From 5f0b26ae39bb56913ad6af873c836b689aa1752b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 19 Aug 2022 16:17:38 +0200 Subject: [PATCH 56/63] Remove FragmentModule --- docs/hilt_migration.md | 2 +- .../root/src/app_package/Fragment.kt.ftl | 8 +- .../java/im/vector/app/core/di/FragmentKey.kt | 27 - .../im/vector/app/core/di/FragmentModule.kt | 954 ------------------ .../app/core/di/VectorFragmentFactory.kt | 43 - 5 files changed, 5 insertions(+), 1029 deletions(-) delete mode 100644 vector/src/main/java/im/vector/app/core/di/FragmentKey.kt delete mode 100644 vector/src/main/java/im/vector/app/core/di/FragmentModule.kt delete mode 100644 vector/src/main/java/im/vector/app/core/di/VectorFragmentFactory.kt diff --git a/docs/hilt_migration.md b/docs/hilt_migration.md index 50021e9792..0556cf85dc 100644 --- a/docs/hilt_migration.md +++ b/docs/hilt_migration.md @@ -7,8 +7,8 @@ Hilt is built on top of Dagger 2 and simplify usage by removing needs to create When you create a new feature, you should have the following: Annotate your Activity with @AndroidEntryPoint +Annotate your Fragment with @AndroidEntryPoint If you have a BottomSheetFragment => Annotate it with @AndroidEntryPoint -Otherwise => Add your Fragment to the FragmentModule Add your ViewModel.Factory to the MavericksViewModelModule Makes sure your ViewModel as the following code: diff --git a/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl b/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl index 0f01b347c0..133faa6821 100644 --- a/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl +++ b/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl @@ -18,10 +18,10 @@ import javax.inject.Inject data class ${fragmentArgsClass}() : Parcelable -//TODO add this fragment into FragmentModule -class ${fragmentClass} @Inject constructor( - private val viewModelFactory: ${viewModelClass}.Factory -) : VectorBaseFragment(), ${viewModelClass}.Factory by viewModelFactory { +@AndroidEntryPoint +class ${fragmentClass}() : + VectorBaseFragment(), + ${viewModelClass}.Factory by viewModelFactory { <#if createFragmentArgs> private val fragmentArgs: ${fragmentArgsClass} by args() diff --git a/vector/src/main/java/im/vector/app/core/di/FragmentKey.kt b/vector/src/main/java/im/vector/app/core/di/FragmentKey.kt deleted file mode 100644 index bc2dc40a15..0000000000 --- a/vector/src/main/java/im/vector/app/core/di/FragmentKey.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package im.vector.app.core.di - -import androidx.fragment.app.Fragment -import dagger.MapKey -import kotlin.reflect.KClass - -@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER) -@Retention(AnnotationRetention.RUNTIME) -@MapKey -annotation class FragmentKey(val value: KClass) diff --git a/vector/src/main/java/im/vector/app/core/di/FragmentModule.kt b/vector/src/main/java/im/vector/app/core/di/FragmentModule.kt deleted file mode 100644 index 22e1c99ab2..0000000000 --- a/vector/src/main/java/im/vector/app/core/di/FragmentModule.kt +++ /dev/null @@ -1,954 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package im.vector.app.core.di - -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentFactory -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ActivityComponent -import dagger.multibindings.IntoMap -import im.vector.app.features.analytics.ui.consent.AnalyticsOptInFragment -import im.vector.app.features.attachments.preview.AttachmentsPreviewFragment -import im.vector.app.features.contactsbook.ContactsBookFragment -import im.vector.app.features.crypto.keysbackup.settings.KeysBackupSettingsFragment -import im.vector.app.features.crypto.quads.SharedSecuredStorageKeyFragment -import im.vector.app.features.crypto.quads.SharedSecuredStoragePassphraseFragment -import im.vector.app.features.crypto.quads.SharedSecuredStorageResetAllFragment -import im.vector.app.features.crypto.recover.BootstrapConclusionFragment -import im.vector.app.features.crypto.recover.BootstrapConfirmPassphraseFragment -import im.vector.app.features.crypto.recover.BootstrapEnterPassphraseFragment -import im.vector.app.features.crypto.recover.BootstrapMigrateBackupFragment -import im.vector.app.features.crypto.recover.BootstrapReAuthFragment -import im.vector.app.features.crypto.recover.BootstrapSaveRecoveryKeyFragment -import im.vector.app.features.crypto.recover.BootstrapSetupRecoveryKeyFragment -import im.vector.app.features.crypto.recover.BootstrapWaitingFragment -import im.vector.app.features.crypto.verification.QuadSLoadingFragment -import im.vector.app.features.crypto.verification.cancel.VerificationCancelFragment -import im.vector.app.features.crypto.verification.cancel.VerificationNotMeFragment -import im.vector.app.features.crypto.verification.choose.VerificationChooseMethodFragment -import im.vector.app.features.crypto.verification.conclusion.VerificationConclusionFragment -import im.vector.app.features.crypto.verification.emoji.VerificationEmojiCodeFragment -import im.vector.app.features.crypto.verification.qrconfirmation.VerificationQRWaitingFragment -import im.vector.app.features.crypto.verification.qrconfirmation.VerificationQrScannedByOtherFragment -import im.vector.app.features.crypto.verification.request.VerificationRequestFragment -import im.vector.app.features.devtools.RoomDevToolEditFragment -import im.vector.app.features.devtools.RoomDevToolFragment -import im.vector.app.features.devtools.RoomDevToolSendFormFragment -import im.vector.app.features.devtools.RoomDevToolStateEventListFragment -import im.vector.app.features.discovery.DiscoverySettingsFragment -import im.vector.app.features.discovery.change.SetIdentityServerFragment -import im.vector.app.features.home.HomeDetailFragment -import im.vector.app.features.home.HomeDrawerFragment -import im.vector.app.features.home.LoadingFragment -import im.vector.app.features.home.NewHomeDetailFragment -import im.vector.app.features.home.room.breadcrumbs.BreadcrumbsFragment -import im.vector.app.features.home.room.detail.TimelineFragment -import im.vector.app.features.home.room.detail.search.SearchFragment -import im.vector.app.features.home.room.list.RoomListFragment -import im.vector.app.features.home.room.list.home.HomeRoomListFragment -import im.vector.app.features.home.room.list.home.NewChatBottomSheet -import im.vector.app.features.home.room.threads.list.views.ThreadListFragment -import im.vector.app.features.location.LocationSharingFragment -import im.vector.app.features.location.preview.LocationPreviewFragment -import im.vector.app.features.login.LoginCaptchaFragment -import im.vector.app.features.login.LoginFragment -import im.vector.app.features.login.LoginGenericTextInputFormFragment -import im.vector.app.features.login.LoginResetPasswordFragment -import im.vector.app.features.login.LoginResetPasswordMailConfirmationFragment -import im.vector.app.features.login.LoginResetPasswordSuccessFragment -import im.vector.app.features.login.LoginServerSelectionFragment -import im.vector.app.features.login.LoginServerUrlFormFragment -import im.vector.app.features.login.LoginSignUpSignInSelectionFragment -import im.vector.app.features.login.LoginSplashFragment -import im.vector.app.features.login.LoginWaitForEmailFragment -import im.vector.app.features.login.LoginWebFragment -import im.vector.app.features.login.terms.LoginTermsFragment -import im.vector.app.features.matrixto.MatrixToRoomSpaceFragment -import im.vector.app.features.matrixto.MatrixToUserFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthAccountCreatedFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthCaptchaFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthChooseDisplayNameFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthChooseProfilePictureFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthCombinedLoginFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthCombinedRegisterFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthCombinedServerSelectionFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthEmailEntryFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthGenericTextInputFormFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthLegacyStyleCaptchaFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthLegacyWaitForEmailFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthLoginFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthPersonalizationCompleteFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthPhoneConfirmationFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthPhoneEntryFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthResetPasswordFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthResetPasswordMailConfirmationFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthResetPasswordSuccessFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthServerSelectionFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthSignUpSignInSelectionFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthSplashCarouselFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthSplashFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthUseCaseFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthWaitForEmailFragment -import im.vector.app.features.onboarding.ftueauth.FtueAuthWebFragment -import im.vector.app.features.onboarding.ftueauth.terms.FtueAuthLegacyStyleTermsFragment -import im.vector.app.features.onboarding.ftueauth.terms.FtueAuthTermsFragment -import im.vector.app.features.pin.PinFragment -import im.vector.app.features.poll.create.CreatePollFragment -import im.vector.app.features.qrcode.QrCodeScannerFragment -import im.vector.app.features.reactions.EmojiChooserFragment -import im.vector.app.features.reactions.EmojiSearchResultFragment -import im.vector.app.features.roomdirectory.PublicRoomsFragment -import im.vector.app.features.roomdirectory.createroom.CreateRoomFragment -import im.vector.app.features.roomdirectory.picker.RoomDirectoryPickerFragment -import im.vector.app.features.roomdirectory.roompreview.RoomPreviewNoPreviewFragment -import im.vector.app.features.roommemberprofile.RoomMemberProfileFragment -import im.vector.app.features.roommemberprofile.devices.DeviceListFragment -import im.vector.app.features.roommemberprofile.devices.DeviceTrustInfoActionFragment -import im.vector.app.features.roomprofile.RoomProfileFragment -import im.vector.app.features.roomprofile.alias.RoomAliasFragment -import im.vector.app.features.roomprofile.banned.RoomBannedMemberListFragment -import im.vector.app.features.roomprofile.members.RoomMemberListFragment -import im.vector.app.features.roomprofile.notifications.RoomNotificationSettingsFragment -import im.vector.app.features.roomprofile.permissions.RoomPermissionsFragment -import im.vector.app.features.roomprofile.settings.RoomSettingsFragment -import im.vector.app.features.roomprofile.settings.joinrule.RoomJoinRuleFragment -import im.vector.app.features.roomprofile.settings.joinrule.advanced.RoomJoinRuleChooseRestrictedFragment -import im.vector.app.features.roomprofile.uploads.RoomUploadsFragment -import im.vector.app.features.roomprofile.uploads.files.RoomUploadsFilesFragment -import im.vector.app.features.roomprofile.uploads.media.RoomUploadsMediaFragment -import im.vector.app.features.settings.VectorSettingsGeneralFragment -import im.vector.app.features.settings.VectorSettingsHelpAboutFragment -import im.vector.app.features.settings.VectorSettingsLabsFragment -import im.vector.app.features.settings.VectorSettingsPinFragment -import im.vector.app.features.settings.VectorSettingsPreferencesFragment -import im.vector.app.features.settings.VectorSettingsSecurityPrivacyFragment -import im.vector.app.features.settings.account.deactivation.DeactivateAccountFragment -import im.vector.app.features.settings.crosssigning.CrossSigningSettingsFragment -import im.vector.app.features.settings.devices.VectorSettingsDevicesFragment -import im.vector.app.features.settings.devtools.AccountDataFragment -import im.vector.app.features.settings.devtools.GossipingEventsPaperTrailFragment -import im.vector.app.features.settings.devtools.IncomingKeyRequestListFragment -import im.vector.app.features.settings.devtools.KeyRequestsFragment -import im.vector.app.features.settings.devtools.OutgoingKeyRequestListFragment -import im.vector.app.features.settings.font.FontScaleSettingFragment -import im.vector.app.features.settings.homeserver.HomeserverSettingsFragment -import im.vector.app.features.settings.ignored.VectorSettingsIgnoredUsersFragment -import im.vector.app.features.settings.legals.LegalsFragment -import im.vector.app.features.settings.locale.LocalePickerFragment -import im.vector.app.features.settings.notifications.VectorSettingsAdvancedNotificationPreferenceFragment -import im.vector.app.features.settings.notifications.VectorSettingsNotificationPreferenceFragment -import im.vector.app.features.settings.notifications.VectorSettingsNotificationsTroubleshootFragment -import im.vector.app.features.settings.push.PushGatewaysFragment -import im.vector.app.features.settings.push.PushRulesFragment -import im.vector.app.features.settings.threepids.ThreePidsSettingsFragment -import im.vector.app.features.share.IncomingShareFragment -import im.vector.app.features.signout.soft.SoftLogoutFragment -import im.vector.app.features.spaces.SpaceListFragment -import im.vector.app.features.spaces.create.ChoosePrivateSpaceTypeFragment -import im.vector.app.features.spaces.create.ChooseSpaceTypeFragment -import im.vector.app.features.spaces.create.CreateSpaceAdd3pidInvitesFragment -import im.vector.app.features.spaces.create.CreateSpaceDefaultRoomsFragment -import im.vector.app.features.spaces.create.CreateSpaceDetailsFragment -import im.vector.app.features.spaces.explore.SpaceDirectoryFragment -import im.vector.app.features.spaces.leave.SpaceLeaveAdvancedFragment -import im.vector.app.features.spaces.manage.SpaceAddRoomFragment -import im.vector.app.features.spaces.manage.SpaceManageRoomsFragment -import im.vector.app.features.spaces.manage.SpaceSettingsFragment -import im.vector.app.features.spaces.people.SpacePeopleFragment -import im.vector.app.features.spaces.preview.SpacePreviewFragment -import im.vector.app.features.terms.ReviewTermsFragment -import im.vector.app.features.usercode.ShowUserCodeFragment -import im.vector.app.features.userdirectory.UserListFragment -import im.vector.app.features.widgets.WidgetFragment - -@InstallIn(ActivityComponent::class) -@Module -interface FragmentModule { - /** - * Fragments with @IntoMap will be injected by this factory. - */ - @Binds - fun bindFragmentFactory(factory: VectorFragmentFactory): FragmentFactory - - @Binds - @IntoMap - @FragmentKey(RoomListFragment::class) - fun bindRoomListFragment(fragment: RoomListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(NewChatBottomSheet::class) - fun bindNewChatBottomSheetFragment(fragment: NewChatBottomSheet): Fragment - - @Binds - @IntoMap - @FragmentKey(LocalePickerFragment::class) - fun bindLocalePickerFragment(fragment: LocalePickerFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpaceListFragment::class) - fun bindSpaceListFragment(fragment: SpaceListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(TimelineFragment::class) - fun bindTimelineFragment(fragment: TimelineFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomDirectoryPickerFragment::class) - fun bindRoomDirectoryPickerFragment(fragment: RoomDirectoryPickerFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(CreateRoomFragment::class) - fun bindCreateRoomFragment(fragment: CreateRoomFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomPreviewNoPreviewFragment::class) - fun bindRoomPreviewNoPreviewFragment(fragment: RoomPreviewNoPreviewFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(KeysBackupSettingsFragment::class) - fun bindKeysBackupSettingsFragment(fragment: KeysBackupSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoadingFragment::class) - fun bindLoadingFragment(fragment: LoadingFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(HomeDrawerFragment::class) - fun bindHomeDrawerFragment(fragment: HomeDrawerFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(HomeDetailFragment::class) - fun bindHomeDetailFragment(fragment: HomeDetailFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(NewHomeDetailFragment::class) - fun bindNewHomeDetailFragment(fragment: NewHomeDetailFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(EmojiSearchResultFragment::class) - fun bindEmojiSearchResultFragment(fragment: EmojiSearchResultFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginFragment::class) - fun bindLoginFragment(fragment: LoginFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginCaptchaFragment::class) - fun bindLoginCaptchaFragment(fragment: LoginCaptchaFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginTermsFragment::class) - fun bindLoginTermsFragment(fragment: LoginTermsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginServerUrlFormFragment::class) - fun bindLoginServerUrlFormFragment(fragment: LoginServerUrlFormFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginResetPasswordMailConfirmationFragment::class) - fun bindLoginResetPasswordMailConfirmationFragment(fragment: LoginResetPasswordMailConfirmationFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginResetPasswordFragment::class) - fun bindLoginResetPasswordFragment(fragment: LoginResetPasswordFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginResetPasswordSuccessFragment::class) - fun bindLoginResetPasswordSuccessFragment(fragment: LoginResetPasswordSuccessFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginServerSelectionFragment::class) - fun bindLoginServerSelectionFragment(fragment: LoginServerSelectionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginSignUpSignInSelectionFragment::class) - fun bindLoginSignUpSignInSelectionFragment(fragment: LoginSignUpSignInSelectionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginSplashFragment::class) - fun bindLoginSplashFragment(fragment: LoginSplashFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginWebFragment::class) - fun bindLoginWebFragment(fragment: LoginWebFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginGenericTextInputFormFragment::class) - fun bindLoginGenericTextInputFormFragment(fragment: LoginGenericTextInputFormFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LoginWaitForEmailFragment::class) - fun bindLoginWaitForEmailFragment(fragment: LoginWaitForEmailFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthLegacyStyleCaptchaFragment::class) - fun bindFtueAuthLegacyStyleCaptchaFragment(fragment: FtueAuthLegacyStyleCaptchaFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthCaptchaFragment::class) - fun bindFtueAuthCaptchaFragment(fragment: FtueAuthCaptchaFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthGenericTextInputFormFragment::class) - fun bindFtueAuthGenericTextInputFormFragment(fragment: FtueAuthGenericTextInputFormFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthLoginFragment::class) - fun bindFtueAuthLoginFragment(fragment: FtueAuthLoginFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthResetPasswordFragment::class) - fun bindFtueAuthResetPasswordFragment(fragment: FtueAuthResetPasswordFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthResetPasswordMailConfirmationFragment::class) - fun bindFtueAuthResetPasswordMailConfirmationFragment(fragment: FtueAuthResetPasswordMailConfirmationFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthResetPasswordSuccessFragment::class) - fun bindFtueAuthResetPasswordSuccessFragment(fragment: FtueAuthResetPasswordSuccessFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthServerSelectionFragment::class) - fun bindFtueAuthServerSelectionFragment(fragment: FtueAuthServerSelectionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthSignUpSignInSelectionFragment::class) - fun bindFtueAuthSignUpSignInSelectionFragment(fragment: FtueAuthSignUpSignInSelectionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthSplashFragment::class) - fun bindFtueAuthSplashFragment(fragment: FtueAuthSplashFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthSplashCarouselFragment::class) - fun bindFtueAuthSplashCarouselFragment(fragment: FtueAuthSplashCarouselFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthUseCaseFragment::class) - fun bindFtueAuthUseCaseFragment(fragment: FtueAuthUseCaseFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthWaitForEmailFragment::class) - fun bindFtueAuthWaitForEmailFragment(fragment: FtueAuthWaitForEmailFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthLegacyWaitForEmailFragment::class) - fun bindFtueAuthLegacyWaitForEmailFragment(fragment: FtueAuthLegacyWaitForEmailFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthWebFragment::class) - fun bindFtueAuthWebFragment(fragment: FtueAuthWebFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthLegacyStyleTermsFragment::class) - fun bindFtueAuthLegacyStyleTermsFragment(fragment: FtueAuthLegacyStyleTermsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthTermsFragment::class) - fun bindFtueAuthTermsFragment(fragment: FtueAuthTermsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthAccountCreatedFragment::class) - fun bindFtueAuthAccountCreatedFragment(fragment: FtueAuthAccountCreatedFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthEmailEntryFragment::class) - fun bindFtueAuthEmailEntryFragment(fragment: FtueAuthEmailEntryFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthPhoneEntryFragment::class) - fun bindFtueAuthPhoneEntryFragment(fragment: FtueAuthPhoneEntryFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthPhoneConfirmationFragment::class) - fun bindFtueAuthPhoneConfirmationFragment(fragment: FtueAuthPhoneConfirmationFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthChooseDisplayNameFragment::class) - fun bindFtueAuthChooseDisplayNameFragment(fragment: FtueAuthChooseDisplayNameFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthChooseProfilePictureFragment::class) - fun bindFtueAuthChooseProfilePictureFragment(fragment: FtueAuthChooseProfilePictureFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthPersonalizationCompleteFragment::class) - fun bindFtueAuthPersonalizationCompleteFragment(fragment: FtueAuthPersonalizationCompleteFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthCombinedLoginFragment::class) - fun bindFtueAuthCombinedLoginFragment(fragment: FtueAuthCombinedLoginFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthCombinedRegisterFragment::class) - fun bindFtueAuthCombinedRegisterFragment(fragment: FtueAuthCombinedRegisterFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FtueAuthCombinedServerSelectionFragment::class) - fun bindFtueAuthCombinedServerSelectionFragment(fragment: FtueAuthCombinedServerSelectionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(UserListFragment::class) - fun bindUserListFragment(fragment: UserListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(PushGatewaysFragment::class) - fun bindPushGatewaysFragment(fragment: PushGatewaysFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsNotificationsTroubleshootFragment::class) - fun bindVectorSettingsNotificationsTroubleshootFragment(fragment: VectorSettingsNotificationsTroubleshootFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsAdvancedNotificationPreferenceFragment::class) - fun bindVectorSettingsAdvancedNotificationPreferenceFragment(fragment: VectorSettingsAdvancedNotificationPreferenceFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsNotificationPreferenceFragment::class) - fun bindVectorSettingsNotificationPreferenceFragment(fragment: VectorSettingsNotificationPreferenceFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsLabsFragment::class) - fun bindVectorSettingsLabsFragment(fragment: VectorSettingsLabsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(HomeserverSettingsFragment::class) - fun bindHomeserverSettingsFragment(fragment: HomeserverSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(FontScaleSettingFragment::class) - fun bindFontScaleSettingFragment(fragment: FontScaleSettingFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsPinFragment::class) - fun bindVectorSettingsPinFragment(fragment: VectorSettingsPinFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsGeneralFragment::class) - fun bindVectorSettingsGeneralFragment(fragment: VectorSettingsGeneralFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(PushRulesFragment::class) - fun bindPushRulesFragment(fragment: PushRulesFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsPreferencesFragment::class) - fun bindVectorSettingsPreferencesFragment(fragment: VectorSettingsPreferencesFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsSecurityPrivacyFragment::class) - fun bindVectorSettingsSecurityPrivacyFragment(fragment: VectorSettingsSecurityPrivacyFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsHelpAboutFragment::class) - fun bindVectorSettingsHelpAboutFragment(fragment: VectorSettingsHelpAboutFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsIgnoredUsersFragment::class) - fun bindVectorSettingsIgnoredUsersFragment(fragment: VectorSettingsIgnoredUsersFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VectorSettingsDevicesFragment::class) - fun bindVectorSettingsDevicesFragment(fragment: VectorSettingsDevicesFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ThreePidsSettingsFragment::class) - fun bindThreePidsSettingsFragment(fragment: ThreePidsSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(PublicRoomsFragment::class) - fun bindPublicRoomsFragment(fragment: PublicRoomsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomProfileFragment::class) - fun bindRoomProfileFragment(fragment: RoomProfileFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomMemberListFragment::class) - fun bindRoomMemberListFragment(fragment: RoomMemberListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomUploadsFragment::class) - fun bindRoomUploadsFragment(fragment: RoomUploadsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomUploadsMediaFragment::class) - fun bindRoomUploadsMediaFragment(fragment: RoomUploadsMediaFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomUploadsFilesFragment::class) - fun bindRoomUploadsFilesFragment(fragment: RoomUploadsFilesFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomSettingsFragment::class) - fun bindRoomSettingsFragment(fragment: RoomSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomAliasFragment::class) - fun bindRoomAliasFragment(fragment: RoomAliasFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomPermissionsFragment::class) - fun bindRoomPermissionsFragment(fragment: RoomPermissionsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomMemberProfileFragment::class) - fun bindRoomMemberProfileFragment(fragment: RoomMemberProfileFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BreadcrumbsFragment::class) - fun bindBreadcrumbsFragment(fragment: BreadcrumbsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(AnalyticsOptInFragment::class) - fun bindAnalyticsOptInFragment(fragment: AnalyticsOptInFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(EmojiChooserFragment::class) - fun bindEmojiChooserFragment(fragment: EmojiChooserFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SoftLogoutFragment::class) - fun bindSoftLogoutFragment(fragment: SoftLogoutFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationRequestFragment::class) - fun bindVerificationRequestFragment(fragment: VerificationRequestFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationChooseMethodFragment::class) - fun bindVerificationChooseMethodFragment(fragment: VerificationChooseMethodFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationEmojiCodeFragment::class) - fun bindVerificationEmojiCodeFragment(fragment: VerificationEmojiCodeFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationQrScannedByOtherFragment::class) - fun bindVerificationQrScannedByOtherFragment(fragment: VerificationQrScannedByOtherFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationQRWaitingFragment::class) - fun bindVerificationQRWaitingFragment(fragment: VerificationQRWaitingFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationConclusionFragment::class) - fun bindVerificationConclusionFragment(fragment: VerificationConclusionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationCancelFragment::class) - fun bindVerificationCancelFragment(fragment: VerificationCancelFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(QuadSLoadingFragment::class) - fun bindQuadSLoadingFragment(fragment: QuadSLoadingFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(VerificationNotMeFragment::class) - fun bindVerificationNotMeFragment(fragment: VerificationNotMeFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(QrCodeScannerFragment::class) - fun bindQrCodeScannerFragment(fragment: QrCodeScannerFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(DeviceListFragment::class) - fun bindDeviceListFragment(fragment: DeviceListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(DeviceTrustInfoActionFragment::class) - fun bindDeviceTrustInfoActionFragment(fragment: DeviceTrustInfoActionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(CrossSigningSettingsFragment::class) - fun bindCrossSigningSettingsFragment(fragment: CrossSigningSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(AttachmentsPreviewFragment::class) - fun bindAttachmentsPreviewFragment(fragment: AttachmentsPreviewFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(IncomingShareFragment::class) - fun bindIncomingShareFragment(fragment: IncomingShareFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(AccountDataFragment::class) - fun bindAccountDataFragment(fragment: AccountDataFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(OutgoingKeyRequestListFragment::class) - fun bindOutgoingKeyRequestListFragment(fragment: OutgoingKeyRequestListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(IncomingKeyRequestListFragment::class) - fun bindIncomingKeyRequestListFragment(fragment: IncomingKeyRequestListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(KeyRequestsFragment::class) - fun bindKeyRequestsFragment(fragment: KeyRequestsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(GossipingEventsPaperTrailFragment::class) - fun bindGossipingEventsPaperTrailFragment(fragment: GossipingEventsPaperTrailFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapEnterPassphraseFragment::class) - fun bindBootstrapEnterPassphraseFragment(fragment: BootstrapEnterPassphraseFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapConfirmPassphraseFragment::class) - fun bindBootstrapConfirmPassphraseFragment(fragment: BootstrapConfirmPassphraseFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapWaitingFragment::class) - fun bindBootstrapWaitingFragment(fragment: BootstrapWaitingFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapSetupRecoveryKeyFragment::class) - fun bindBootstrapSetupRecoveryKeyFragment(fragment: BootstrapSetupRecoveryKeyFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapSaveRecoveryKeyFragment::class) - fun bindBootstrapSaveRecoveryKeyFragment(fragment: BootstrapSaveRecoveryKeyFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapConclusionFragment::class) - fun bindBootstrapConclusionFragment(fragment: BootstrapConclusionFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapReAuthFragment::class) - fun bindBootstrapReAuthFragment(fragment: BootstrapReAuthFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(BootstrapMigrateBackupFragment::class) - fun bindBootstrapMigrateBackupFragment(fragment: BootstrapMigrateBackupFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(DeactivateAccountFragment::class) - fun bindDeactivateAccountFragment(fragment: DeactivateAccountFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SharedSecuredStoragePassphraseFragment::class) - fun bindSharedSecuredStoragePassphraseFragment(fragment: SharedSecuredStoragePassphraseFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SharedSecuredStorageKeyFragment::class) - fun bindSharedSecuredStorageKeyFragment(fragment: SharedSecuredStorageKeyFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SharedSecuredStorageResetAllFragment::class) - fun bindSharedSecuredStorageResetAllFragment(fragment: SharedSecuredStorageResetAllFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SetIdentityServerFragment::class) - fun bindSetIdentityServerFragment(fragment: SetIdentityServerFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(DiscoverySettingsFragment::class) - fun bindDiscoverySettingsFragment(fragment: DiscoverySettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LegalsFragment::class) - fun bindLegalsFragment(fragment: LegalsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ReviewTermsFragment::class) - fun bindReviewTermsFragment(fragment: ReviewTermsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(WidgetFragment::class) - fun bindWidgetFragment(fragment: WidgetFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ContactsBookFragment::class) - fun bindPhoneBookFragment(fragment: ContactsBookFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(PinFragment::class) - fun bindPinFragment(fragment: PinFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomBannedMemberListFragment::class) - fun bindRoomBannedMemberListFragment(fragment: RoomBannedMemberListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomNotificationSettingsFragment::class) - fun bindRoomNotificationSettingsFragment(fragment: RoomNotificationSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SearchFragment::class) - fun bindSearchFragment(fragment: SearchFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ShowUserCodeFragment::class) - fun bindShowUserCodeFragment(fragment: ShowUserCodeFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomDevToolFragment::class) - fun bindRoomDevToolFragment(fragment: RoomDevToolFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomDevToolStateEventListFragment::class) - fun bindRoomDevToolStateEventListFragment(fragment: RoomDevToolStateEventListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomDevToolEditFragment::class) - fun bindRoomDevToolEditFragment(fragment: RoomDevToolEditFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomDevToolSendFormFragment::class) - fun bindRoomDevToolSendFormFragment(fragment: RoomDevToolSendFormFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpacePreviewFragment::class) - fun bindSpacePreviewFragment(fragment: SpacePreviewFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ChooseSpaceTypeFragment::class) - fun bindChooseSpaceTypeFragment(fragment: ChooseSpaceTypeFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(CreateSpaceDetailsFragment::class) - fun bindCreateSpaceDetailsFragment(fragment: CreateSpaceDetailsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(CreateSpaceDefaultRoomsFragment::class) - fun bindCreateSpaceDefaultRoomsFragment(fragment: CreateSpaceDefaultRoomsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(MatrixToUserFragment::class) - fun bindMatrixToUserFragment(fragment: MatrixToUserFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(MatrixToRoomSpaceFragment::class) - fun bindMatrixToRoomSpaceFragment(fragment: MatrixToRoomSpaceFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpaceDirectoryFragment::class) - fun bindSpaceDirectoryFragment(fragment: SpaceDirectoryFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ChoosePrivateSpaceTypeFragment::class) - fun bindChoosePrivateSpaceTypeFragment(fragment: ChoosePrivateSpaceTypeFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(CreateSpaceAdd3pidInvitesFragment::class) - fun bindCreateSpaceAdd3pidInvitesFragment(fragment: CreateSpaceAdd3pidInvitesFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpaceAddRoomFragment::class) - fun bindSpaceAddRoomFragment(fragment: SpaceAddRoomFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpacePeopleFragment::class) - fun bindSpacePeopleFragment(fragment: SpacePeopleFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpaceSettingsFragment::class) - fun bindSpaceSettingsFragment(fragment: SpaceSettingsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpaceManageRoomsFragment::class) - fun bindSpaceManageRoomsFragment(fragment: SpaceManageRoomsFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomJoinRuleFragment::class) - fun bindRoomJoinRuleFragment(fragment: RoomJoinRuleFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(RoomJoinRuleChooseRestrictedFragment::class) - fun bindRoomJoinRuleChooseRestrictedFragment(fragment: RoomJoinRuleChooseRestrictedFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(SpaceLeaveAdvancedFragment::class) - fun bindSpaceLeaveAdvancedFragment(fragment: SpaceLeaveAdvancedFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(ThreadListFragment::class) - fun bindThreadListFragment(fragment: ThreadListFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(CreatePollFragment::class) - fun bindCreatePollFragment(fragment: CreatePollFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LocationSharingFragment::class) - fun bindLocationSharingFragment(fragment: LocationSharingFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(LocationPreviewFragment::class) - fun bindLocationPreviewFragment(fragment: LocationPreviewFragment): Fragment - - @Binds - @IntoMap - @FragmentKey(HomeRoomListFragment::class) - fun binHomeRoomListFragment(fragment: HomeRoomListFragment): Fragment -} diff --git a/vector/src/main/java/im/vector/app/core/di/VectorFragmentFactory.kt b/vector/src/main/java/im/vector/app/core/di/VectorFragmentFactory.kt deleted file mode 100644 index f761d99114..0000000000 --- a/vector/src/main/java/im/vector/app/core/di/VectorFragmentFactory.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package im.vector.app.core.di - -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentFactory -import timber.log.Timber -import javax.inject.Inject -import javax.inject.Provider - -/** - * FragmentFactory which uses Dagger to create the instances. - */ -class VectorFragmentFactory @Inject constructor( - private val creators: @JvmSuppressWildcards Map, Provider> -) : FragmentFactory() { - - override fun instantiate(classLoader: ClassLoader, className: String): Fragment { - val fragmentClass = loadFragmentClass(classLoader, className) - val creator: Provider? = creators[fragmentClass] - return if (creator == null) { - Timber.v("Unknown model class: $className, fallback to default instance") - super.instantiate(classLoader, className) - } else { - creator.get() - } - } -} From 997336ec5d129234845c677e2fbf71dce4346741 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 19 Aug 2022 16:19:23 +0200 Subject: [PATCH 57/63] No need to Inject constructor --- .../features/location/live/map/LiveLocationMapViewFragment.kt | 2 +- .../settings/devices/v2/VectorSettingsDevicesFragment.kt | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt b/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt index 85095e7c9f..fc600c550f 100644 --- a/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt @@ -62,7 +62,7 @@ import javax.inject.Inject * Screen showing a map with all the current users sharing their live location in a room. */ @AndroidEntryPoint -class LiveLocationMapViewFragment @Inject constructor() : VectorBaseFragment() { +class LiveLocationMapViewFragment : VectorBaseFragment() { @Inject lateinit var urlMapProvider: UrlMapProvider @Inject lateinit var bottomSheetController: LiveLocationBottomSheetController diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt index 4fc429c865..4e02ef9577 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt @@ -27,13 +27,12 @@ import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSettingsDevicesBinding -import javax.inject.Inject /** * Display the list of the user's devices and sessions. */ @AndroidEntryPoint -class VectorSettingsDevicesFragment @Inject constructor() : VectorBaseFragment() { +class VectorSettingsDevicesFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsDevicesBinding { return FragmentSettingsDevicesBinding.inflate(inflater, container, false) From 22db6b4619253c364ca7c7bcf23c3843480e7525 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 19 Aug 2022 17:16:21 +0200 Subject: [PATCH 58/63] Use @AndroidEntryPoint for all Fragment --- .../debug/leak/DebugMemoryLeaksFragment.kt | 3 +- .../ui/consent/AnalyticsOptInFragment.kt | 10 ++-- .../preview/AttachmentsPreviewFragment.kt | 15 +++--- .../contactsbook/ContactsBookFragment.kt | 10 ++-- .../KeysBackupRestoreFromKeyFragment.kt | 5 +- ...KeysBackupRestoreFromPassphraseFragment.kt | 6 ++- .../KeysBackupRestoreSuccessFragment.kt | 6 ++- .../settings/KeysBackupSettingsFragment.kt | 6 ++- .../setup/KeysBackupSetupStep1Fragment.kt | 6 ++- .../setup/KeysBackupSetupStep2Fragment.kt | 6 ++- .../setup/KeysBackupSetupStep3Fragment.kt | 6 ++- .../quads/SharedSecuredStorageKeyFragment.kt | 6 ++- .../SharedSecuredStoragePassphraseFragment.kt | 9 ++-- .../SharedSecuredStorageResetAllFragment.kt | 5 +- .../recover/BootstrapConclusionFragment.kt | 9 ++-- .../BootstrapConfirmPassphraseFragment.kt | 5 +- .../BootstrapEnterPassphraseFragment.kt | 5 +- .../recover/BootstrapMigrateBackupFragment.kt | 9 ++-- .../crypto/recover/BootstrapReAuthFragment.kt | 9 ++-- .../BootstrapSaveRecoveryKeyFragment.kt | 9 ++-- .../BootstrapSetupRecoveryKeyFragment.kt | 5 +- .../recover/BootstrapWaitingFragment.kt | 5 +- .../verification/QuadSLoadingFragment.kt | 6 ++- .../cancel/VerificationCancelFragment.kt | 9 ++-- .../cancel/VerificationNotMeFragment.kt | 9 ++-- .../VerificationChooseMethodFragment.kt | 8 +-- .../VerificationConclusionFragment.kt | 9 ++-- .../emoji/VerificationEmojiCodeFragment.kt | 9 ++-- .../VerificationQRWaitingFragment.kt | 9 ++-- .../VerificationQrScannedByOtherFragment.kt | 9 ++-- .../request/VerificationRequestFragment.kt | 9 ++-- .../devtools/RoomDevToolEditFragment.kt | 5 +- .../features/devtools/RoomDevToolFragment.kt | 9 ++-- .../devtools/RoomDevToolSendFormFragment.kt | 10 ++-- .../RoomDevToolStateEventListFragment.kt | 10 ++-- .../discovery/DiscoverySettingsFragment.kt | 9 ++-- .../change/SetIdentityServerFragment.kt | 9 ++-- .../app/features/home/HomeDetailFragment.kt | 19 ++++--- .../app/features/home/HomeDrawerFragment.kt | 15 +++--- .../app/features/home/LoadingFragment.kt | 5 +- .../features/home/NewHomeDetailFragment.kt | 21 ++++---- .../room/breadcrumbs/BreadcrumbsFragment.kt | 9 ++-- .../home/room/detail/TimelineFragment.kt | 52 ++++++++++--------- .../home/room/detail/search/SearchFragment.kt | 8 +-- .../home/room/list/RoomListFragment.kt | 15 +++--- .../room/list/home/HomeRoomListFragment.kt | 13 +++-- .../threads/list/views/ThreadListFragment.kt | 15 +++--- .../location/LocationSharingFragment.kt | 15 +++--- .../live/map/LiveLocationMapViewFragment.kt | 3 +- .../preview/LocationPreviewFragment.kt | 11 ++-- .../features/login/LoginCaptchaFragment.kt | 9 ++-- .../app/features/login/LoginFragment.kt | 6 ++- .../LoginGenericTextInputFormFragment.kt | 6 ++- .../login/LoginResetPasswordFragment.kt | 6 ++- ...inResetPasswordMailConfirmationFragment.kt | 6 ++- .../LoginResetPasswordSuccessFragment.kt | 6 ++- .../login/LoginServerSelectionFragment.kt | 6 ++- .../login/LoginServerUrlFormFragment.kt | 9 ++-- .../LoginSignUpSignInSelectionFragment.kt | 6 ++- .../app/features/login/LoginSplashFragment.kt | 11 ++-- .../login/LoginWaitForEmailFragment.kt | 6 ++- .../app/features/login/LoginWebFragment.kt | 9 ++-- .../login/terms/LoginTermsFragment.kt | 7 +-- .../matrixto/MatrixToRoomSpaceFragment.kt | 11 ++-- .../features/matrixto/MatrixToUserFragment.kt | 9 ++-- .../FtueAuthAccountCreatedFragment.kt | 9 ++-- .../ftueauth/FtueAuthCaptchaFragment.kt | 9 ++-- .../FtueAuthChooseDisplayNameFragment.kt | 6 ++- .../FtueAuthChooseProfilePictureFragment.kt | 14 +++-- .../ftueauth/FtueAuthCombinedLoginFragment.kt | 11 ++-- .../FtueAuthCombinedRegisterFragment.kt | 6 ++- ...FtueAuthCombinedServerSelectionFragment.kt | 6 ++- .../ftueauth/FtueAuthEmailEntryFragment.kt | 6 ++- .../FtueAuthGenericTextInputFormFragment.kt | 6 ++- .../FtueAuthLegacyStyleCaptchaFragment.kt | 9 ++-- .../FtueAuthLegacyWaitForEmailFragment.kt | 6 ++- .../ftueauth/FtueAuthLoginFragment.kt | 6 ++- ...FtueAuthPersonalizationCompleteFragment.kt | 6 ++- .../FtueAuthPhoneConfirmationFragment.kt | 6 ++- .../ftueauth/FtueAuthPhoneEntryFragment.kt | 9 ++-- .../FtueAuthResetPasswordBreakerFragment.kt | 3 +- ...FtueAuthResetPasswordEmailEntryFragment.kt | 3 +- .../FtueAuthResetPasswordEntryFragment.kt | 3 +- .../ftueauth/FtueAuthResetPasswordFragment.kt | 6 ++- ...thResetPasswordMailConfirmationFragment.kt | 6 ++- .../FtueAuthResetPasswordSuccessFragment.kt | 6 ++- .../FtueAuthServerSelectionFragment.kt | 6 ++- .../ftueauth/FtueAuthServerUrlFormFragment.kt | 9 ++-- .../FtueAuthSignUpSignInSelectionFragment.kt | 6 ++- .../FtueAuthSplashCarouselFragment.kt | 17 +++--- .../ftueauth/FtueAuthSplashFragment.kt | 13 +++-- .../ftueauth/FtueAuthUseCaseFragment.kt | 11 ++-- .../ftueauth/FtueAuthWaitForEmailFragment.kt | 9 ++-- .../ftueauth/FtueAuthWebFragment.kt | 9 ++-- .../terms/FtueAuthLegacyStyleTermsFragment.kt | 9 ++-- .../ftueauth/terms/FtueAuthTermsFragment.kt | 9 ++-- .../im/vector/app/features/pin/PinFragment.kt | 13 +++-- .../pin/lockscreen/ui/LockScreenFragment.kt | 3 +- .../poll/create/CreatePollFragment.kt | 10 ++-- .../features/qrcode/QrCodeScannerFragment.kt | 7 ++- .../reactions/EmojiChooserFragment.kt | 9 ++-- .../reactions/EmojiSearchResultFragment.kt | 10 ++-- .../roomdirectory/PublicRoomsFragment.kt | 13 +++-- .../createroom/CreateRoomFragment.kt | 15 +++--- .../picker/RoomDirectoryPickerFragment.kt | 9 ++-- .../RoomPreviewNoPreviewFragment.kt | 9 ++-- .../RoomMemberProfileFragment.kt | 15 +++--- .../devices/DeviceListFragment.kt | 11 ++-- .../devices/DeviceTrustInfoActionFragment.kt | 11 ++-- .../roomprofile/RoomProfileFragment.kt | 12 +++-- .../roomprofile/alias/RoomAliasFragment.kt | 10 ++-- .../banned/RoomBannedMemberListFragment.kt | 11 ++-- .../members/RoomMemberListFragment.kt | 11 ++-- .../RoomNotificationSettingsFragment.kt | 13 +++-- .../permissions/RoomPermissionsFragment.kt | 10 ++-- .../settings/RoomSettingsFragment.kt | 14 ++--- .../settings/joinrule/RoomJoinRuleFragment.kt | 14 +++-- .../RoomJoinRuleChooseRestrictedFragment.kt | 11 ++-- .../uploads/RoomUploadsFragment.kt | 13 +++-- .../uploads/files/RoomUploadsFilesFragment.kt | 9 ++-- .../uploads/media/RoomUploadsMediaFragment.kt | 11 ++-- .../VectorSettingsAdvancedSettingsFragment.kt | 6 ++- .../settings/VectorSettingsGeneralFragment.kt | 10 ++-- .../VectorSettingsHelpAboutFragment.kt | 11 ++-- .../settings/VectorSettingsLabsFragment.kt | 13 +++-- .../settings/VectorSettingsPinFragment.kt | 17 +++--- .../VectorSettingsPreferencesFragment.kt | 11 ++-- .../settings/VectorSettingsRootFragment.kt | 6 ++- .../VectorSettingsSecurityPrivacyFragment.kt | 23 ++++---- .../deactivation/DeactivateAccountFragment.kt | 6 ++- .../CrossSigningSettingsFragment.kt | 9 ++-- .../devices/VectorSettingsDevicesFragment.kt | 9 ++-- .../v2/VectorSettingsDevicesFragment.kt | 3 +- .../settings/devtools/AccountDataFragment.kt | 11 ++-- .../GossipingEventsPaperTrailFragment.kt | 11 ++-- .../IncomingKeyRequestListFragment.kt | 9 ++-- .../settings/devtools/KeyRequestsFragment.kt | 9 ++-- .../OutgoingKeyRequestListFragment.kt | 9 ++-- .../settings/font/FontScaleSettingFragment.kt | 10 ++-- .../homeserver/HomeserverSettingsFragment.kt | 9 ++-- .../VectorSettingsIgnoredUsersFragment.kt | 9 ++-- .../settings/legals/LegalsFragment.kt | 11 ++-- .../settings/locale/LocalePickerFragment.kt | 9 ++-- ...sAdvancedNotificationPreferenceFragment.kt | 5 +- ...rSettingsNotificationPreferenceFragment.kt | 19 ++++--- ...ttingsNotificationsTroubleshootFragment.kt | 13 +++-- .../settings/push/PushGatewaysFragment.kt | 9 ++-- .../settings/push/PushRulesFragment.kt | 9 ++-- .../threepids/ThreePidsSettingsFragment.kt | 8 +-- .../features/share/IncomingShareFragment.kt | 10 ++-- .../signout/soft/SoftLogoutFragment.kt | 9 ++-- .../app/features/spaces/SpaceListFragment.kt | 15 ++++-- .../create/ChoosePrivateSpaceTypeFragment.kt | 10 ++-- .../spaces/create/ChooseSpaceTypeFragment.kt | 6 ++- .../CreateSpaceAdd3pidInvitesFragment.kt | 9 ++-- .../create/CreateSpaceDefaultRoomsFragment.kt | 9 ++-- .../create/CreateSpaceDetailsFragment.kt | 17 +++--- .../spaces/explore/SpaceDirectoryFragment.kt | 13 +++-- .../leave/SpaceLeaveAdvancedFragment.kt | 9 ++-- .../spaces/manage/SpaceAddRoomFragment.kt | 13 +++-- .../spaces/manage/SpaceManageRoomsFragment.kt | 9 ++-- .../spaces/manage/SpaceSettingsFragment.kt | 15 +++--- .../spaces/people/SpacePeopleFragment.kt | 12 +++-- .../spaces/preview/SpacePreviewFragment.kt | 11 ++-- .../app/features/terms/ReviewTermsFragment.kt | 9 ++-- .../features/usercode/ShowUserCodeFragment.kt | 9 ++-- .../userdirectory/UserListFragment.kt | 11 ++-- .../app/features/widgets/WidgetFragment.kt | 12 +++-- 168 files changed, 1016 insertions(+), 588 deletions(-) diff --git a/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt b/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt index d3e70e26e6..2abf6487e2 100644 --- a/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt +++ b/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt @@ -28,7 +28,8 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentDebugMemoryLeaksBinding @AndroidEntryPoint -class DebugMemoryLeaksFragment : VectorBaseFragment() { +class DebugMemoryLeaksFragment : + VectorBaseFragment() { private val viewModel: DebugMemoryLeaksViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt b/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt index a5bafa2ee6..fbeeab9ec3 100644 --- a/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt +++ b/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextWithColoredPart import im.vector.app.core.platform.OnBackPressed @@ -30,9 +31,12 @@ import im.vector.app.databinding.FragmentAnalyticsOptinBinding import im.vector.app.features.analytics.AnalyticsConfig import javax.inject.Inject -class AnalyticsOptInFragment @Inject constructor( - private val analyticsConfig: AnalyticsConfig, -) : VectorBaseFragment(), OnBackPressed { +@AndroidEntryPoint +class AnalyticsOptInFragment : + VectorBaseFragment(), + OnBackPressed { + + @Inject lateinit var analyticsConfig: AnalyticsConfig // Share the view model with the Activity so that the Activity // can decide what to do when the data has been saved diff --git a/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt index c3a4ae7df2..47b19a435e 100644 --- a/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt @@ -39,6 +39,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.yalantis.ucrop.UCrop +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.insertBeforeLast @@ -63,15 +64,17 @@ data class AttachmentsPreviewArgs( val attachments: List ) : Parcelable -class AttachmentsPreviewFragment @Inject constructor( - private val attachmentMiniaturePreviewController: AttachmentMiniaturePreviewController, - private val attachmentBigPreviewController: AttachmentBigPreviewController, - private val colorProvider: ColorProvider, - private val clock: Clock, -) : VectorBaseFragment(), +@AndroidEntryPoint +class AttachmentsPreviewFragment : + VectorBaseFragment(), AttachmentMiniaturePreviewController.Callback, VectorMenuProvider { + @Inject lateinit var attachmentMiniaturePreviewController: AttachmentMiniaturePreviewController + @Inject lateinit var attachmentBigPreviewController: AttachmentBigPreviewController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + private val fragmentArgs: AttachmentsPreviewArgs by args() private val viewModel: AttachmentsPreviewViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt b/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt index 8cd7f2de45..4677dce7d6 100644 --- a/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt +++ b/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt @@ -24,6 +24,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard @@ -44,9 +45,12 @@ import reactivecircus.flowbinding.android.widget.checkedChanges import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class ContactsBookFragment @Inject constructor( - private val contactsBookController: ContactsBookController -) : VectorBaseFragment(), ContactsBookController.Callback { +@AndroidEntryPoint +class ContactsBookFragment : + VectorBaseFragment(), + ContactsBookController.Callback { + + @Inject lateinit var contactsBookController: ContactsBookController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentContactsBookBinding { return FragmentContactsBookBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt index 42605a850b..9a3d37eed7 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt @@ -22,15 +22,16 @@ import android.view.View import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.core.widget.doOnTextChanged +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.startImportTextFromFileIntent import im.vector.app.databinding.FragmentKeysBackupRestoreFromKeyBinding import org.matrix.android.sdk.api.extensions.tryOrNull -import javax.inject.Inject -class KeysBackupRestoreFromKeyFragment @Inject constructor() : +@AndroidEntryPoint +class KeysBackupRestoreFromKeyFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromKeyBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt index 631bc9ff4f..cf98bc7e4d 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt @@ -24,12 +24,14 @@ import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.core.text.set import androidx.core.widget.doOnTextChanged +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentKeysBackupRestoreFromPassphraseBinding -import javax.inject.Inject -class KeysBackupRestoreFromPassphraseFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupRestoreFromPassphraseFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromPassphraseBinding { return FragmentKeysBackupRestoreFromPassphraseBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt index d26c1e2134..4a1bc49e27 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt @@ -20,13 +20,15 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.LiveEvent import im.vector.app.databinding.FragmentKeysBackupRestoreSuccessBinding -import javax.inject.Inject -class KeysBackupRestoreSuccessFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupRestoreSuccessFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreSuccessBinding { return FragmentKeysBackupRestoreSuccessBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt index edc44fa796..c0001501d5 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -30,10 +31,13 @@ import im.vector.app.databinding.FragmentKeysBackupSettingsBinding import im.vector.app.features.crypto.keysbackup.restore.KeysBackupRestoreActivity import javax.inject.Inject -class KeysBackupSettingsFragment @Inject constructor(private val keysBackupSettingsRecyclerViewController: KeysBackupSettingsRecyclerViewController) : +@AndroidEntryPoint +class KeysBackupSettingsFragment : VectorBaseFragment(), KeysBackupSettingsRecyclerViewController.Listener { + @Inject lateinit var keysBackupSettingsRecyclerViewController: KeysBackupSettingsRecyclerViewController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSettingsBinding { return FragmentKeysBackupSettingsBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt index 7d8feba942..9b8386c741 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt @@ -20,12 +20,14 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.LiveEvent import im.vector.app.databinding.FragmentKeysBackupSetupStep1Binding -import javax.inject.Inject -class KeysBackupSetupStep1Fragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupSetupStep1Fragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep1Binding { return FragmentKeysBackupSetupStep1Binding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt index 706076dae0..cf92afcc2e 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt @@ -24,6 +24,7 @@ import androidx.core.widget.doOnTextChanged import androidx.lifecycle.viewModelScope import androidx.transition.TransitionManager import com.nulabinc.zxcvbn.Zxcvbn +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hidePassword import im.vector.app.core.platform.VectorBaseFragment @@ -31,9 +32,10 @@ import im.vector.app.databinding.FragmentKeysBackupSetupStep2Binding import im.vector.app.features.settings.VectorLocale import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject -class KeysBackupSetupStep2Fragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupSetupStep2Fragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep2Binding { return FragmentKeysBackupSetupStep2Binding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt index 41ff8af04b..7e0fb7e417 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt @@ -28,6 +28,7 @@ import androidx.lifecycle.lifecycleScope import arrow.core.Try import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.safeOpenOutputStream @@ -44,9 +45,10 @@ import java.io.IOException import java.text.SimpleDateFormat import java.util.Date import java.util.Locale -import javax.inject.Inject -class KeysBackupSetupStep3Fragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupSetupStep3Fragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep3Binding { return FragmentKeysBackupSetupStep3Binding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt index 5a7aba65a5..efb24ebea7 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.VectorBaseFragment @@ -35,9 +36,10 @@ import kotlinx.coroutines.flow.onEach import org.matrix.android.sdk.api.extensions.tryOrNull import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class SharedSecuredStorageKeyFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class SharedSecuredStorageKeyFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSsssAccessFromKeyBinding { return FragmentSsssAccessFromKeyBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt index 5af5480573..877e4aa164 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt @@ -24,20 +24,19 @@ import android.view.inputmethod.EditorInfo import androidx.core.text.toSpannable import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.databinding.FragmentSsssAccessFromPassphraseBinding import im.vector.lib.core.utils.flow.throttleFirst import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class SharedSecuredStoragePassphraseFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class SharedSecuredStoragePassphraseFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSsssAccessFromPassphraseBinding { return FragmentSsssAccessFromPassphraseBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt index c0d0aa8e76..66344107a4 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt @@ -22,14 +22,15 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSsssResetAllBinding import im.vector.app.features.roommemberprofile.devices.DeviceListBottomSheet -import javax.inject.Inject -class SharedSecuredStorageResetAllFragment @Inject constructor() : +@AndroidEntryPoint +class SharedSecuredStorageResetAllFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSsssResetAllBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt index 555f2d7c1c..22ecd3dafd 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.core.text.toSpannable import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.resources.ColorProvider @@ -30,9 +31,11 @@ import im.vector.app.core.utils.colorizeMatchingText import im.vector.app.databinding.FragmentBootstrapConclusionBinding import javax.inject.Inject -class BootstrapConclusionFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapConclusionFragment : + VectorBaseFragment() { + + @Inject lateinit var colorProvider: ColorProvider override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapConclusionBinding { return FragmentBootstrapConclusionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt index 3c8137d087..285721ee75 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isGone import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.platform.VectorBaseFragment @@ -34,9 +35,9 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class BootstrapConfirmPassphraseFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapConfirmPassphraseFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapEnterPassphraseBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt index ff6d109b3c..43cc25f195 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt @@ -24,6 +24,7 @@ import android.view.inputmethod.EditorInfo import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentBootstrapEnterPassphraseBinding @@ -33,9 +34,9 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class BootstrapEnterPassphraseFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapEnterPassphraseFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapEnterPassphraseBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt index 2c0ccec9fb..2802c872ee 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt @@ -30,6 +30,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.registerStartForActivityResult @@ -47,9 +48,11 @@ import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class BootstrapMigrateBackupFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapMigrateBackupFragment : + VectorBaseFragment() { + + @Inject lateinit var colorProvider: ColorProvider override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapMigrateBackupBinding { return FragmentBootstrapMigrateBackupBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt index c46ccbf08e..d5e60631a5 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt @@ -23,15 +23,14 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.databinding.FragmentBootstrapReauthBinding -import javax.inject.Inject -class BootstrapReAuthFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapReAuthFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapReauthBinding { return FragmentBootstrapReauthBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt index db24807c1b..21d68dfe99 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt @@ -27,21 +27,20 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.safeOpenOutputStream import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.core.utils.startSharePlainTextIntent import im.vector.app.core.utils.toast import im.vector.app.databinding.FragmentBootstrapSaveKeyBinding import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject -class BootstrapSaveRecoveryKeyFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapSaveRecoveryKeyFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapSaveKeyBinding { return FragmentBootstrapSaveKeyBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt index 3d078a82ed..b03cbe87a8 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt @@ -23,13 +23,14 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentBootstrapSetupRecoveryBinding import im.vector.app.features.raw.wellknown.SecureBackupMethod -import javax.inject.Inject -class BootstrapSetupRecoveryKeyFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapSetupRecoveryKeyFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapSetupRecoveryBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt index e0965e69f9..310bb5ac37 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt @@ -21,11 +21,12 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentBootstrapWaitingBinding -import javax.inject.Inject -class BootstrapWaitingFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapWaitingFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapWaitingBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt index 366348120b..5b6902df98 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt @@ -18,11 +18,13 @@ package im.vector.app.features.crypto.verification import android.view.LayoutInflater import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentProgressBinding -import javax.inject.Inject -class QuadSLoadingFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class QuadSLoadingFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentProgressBinding { return FragmentProgressBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt index 62bab05e42..c972f7834d 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationCancelFragment @Inject constructor( - val controller: VerificationCancelController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationCancelFragment : + VectorBaseFragment(), VerificationCancelController.Listener { + @Inject lateinit var controller: VerificationCancelController + private val viewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt index 635a56a6c1..05632bdfc3 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationNotMeFragment @Inject constructor( - val controller: VerificationNotMeController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationNotMeFragment : + VectorBaseFragment(), VerificationNotMeController.Listener { + @Inject lateinit var controller: VerificationNotMeController + private val viewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt index 3d3766f430..45f7908446 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,11 +40,12 @@ import im.vector.app.features.qrcode.QrCodeScannerActivity import timber.log.Timber import javax.inject.Inject -class VerificationChooseMethodFragment @Inject constructor( - val controller: VerificationChooseMethodController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationChooseMethodFragment : + VectorBaseFragment(), VerificationChooseMethodController.Listener { + @Inject lateinit var controller: VerificationChooseMethodController private val viewModel by fragmentViewModel(VerificationChooseMethodViewModel::class) private val sharedViewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt index 85b90e6004..dd559e8a1b 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -32,11 +33,13 @@ import im.vector.app.features.crypto.verification.VerificationBottomSheetViewMod import kotlinx.parcelize.Parcelize import javax.inject.Inject -class VerificationConclusionFragment @Inject constructor( - val controller: VerificationConclusionController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationConclusionFragment : + VectorBaseFragment(), VerificationConclusionController.Listener { + @Inject lateinit var controller: VerificationConclusionController + @Parcelize data class Args( val isSuccessFull: Boolean, diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt index 3f4eaf8ac9..1e1a8d0710 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,11 +31,13 @@ import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationEmojiCodeFragment @Inject constructor( - val controller: VerificationEmojiCodeController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationEmojiCodeFragment : + VectorBaseFragment(), VerificationEmojiCodeController.Listener { + @Inject lateinit var controller: VerificationEmojiCodeController + private val viewModel by fragmentViewModel(VerificationEmojiCodeViewModel::class) private val sharedViewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt index 441885dd10..e5402424d0 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.Mavericks +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,9 +30,11 @@ import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import kotlinx.parcelize.Parcelize import javax.inject.Inject -class VerificationQRWaitingFragment @Inject constructor( - val controller: VerificationQRWaitingController -) : VectorBaseFragment() { +@AndroidEntryPoint +class VerificationQRWaitingFragment : + VectorBaseFragment() { + + @Inject lateinit var controller: VerificationQRWaitingController @Parcelize data class Args( diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt index 9e77506e3b..0fdbd03174 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt @@ -21,6 +21,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationQrScannedByOtherFragment @Inject constructor( - val controller: VerificationQrScannedByOtherController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationQrScannedByOtherFragment : + VectorBaseFragment(), VerificationQrScannedByOtherController.Listener { + @Inject lateinit var controller: VerificationQrScannedByOtherController + private val sharedViewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt index 238249683f..6887451a76 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt @@ -21,6 +21,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationRequestFragment @Inject constructor( - val controller: VerificationRequestController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationRequestFragment : + VectorBaseFragment(), VerificationRequestController.Listener { + @Inject lateinit var controller: VerificationRequestController + private val viewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt index 1b6fbb7359..3bbb43013d 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt @@ -23,15 +23,16 @@ import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentDevtoolsEditorBinding import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class RoomDevToolEditFragment @Inject constructor() : +@AndroidEntryPoint +class RoomDevToolEditFragment : VectorBaseFragment() { private val sharedViewModel: RoomDevToolViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt index 0e1a2418b8..0ebbf7d8bf 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -28,11 +29,13 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class RoomDevToolFragment @Inject constructor( - private val epoxyController: RoomDevToolRootController -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomDevToolFragment : + VectorBaseFragment(), DevToolsInteractionListener { + @Inject lateinit var epoxyController: RoomDevToolRootController + private val sharedViewModel: RoomDevToolViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt index 6b7dea7d53..3ec49e25f6 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt @@ -22,15 +22,19 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class RoomDevToolSendFormFragment @Inject constructor( - private val epoxyController: RoomDevToolSendFormController -) : VectorBaseFragment(), DevToolsInteractionListener { +@AndroidEntryPoint +class RoomDevToolSendFormFragment : + VectorBaseFragment(), + DevToolsInteractionListener { + + @Inject lateinit var epoxyController: RoomDevToolSendFormController val sharedViewModel: RoomDevToolViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt index 728fb62d66..dfc74e7e74 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,12 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class RoomDevToolStateEventListFragment @Inject constructor( - private val epoxyController: RoomStateListController -) : VectorBaseFragment(), DevToolsInteractionListener { +@AndroidEntryPoint +class RoomDevToolStateEventListFragment : + VectorBaseFragment(), + DevToolsInteractionListener { + + @Inject lateinit var epoxyController: RoomStateListController val sharedViewModel: RoomDevToolViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt index 285d0f728f..8c801bdf89 100644 --- a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt @@ -25,6 +25,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,11 +44,13 @@ import org.matrix.android.sdk.api.session.identity.ThreePid import org.matrix.android.sdk.api.session.terms.TermsService import javax.inject.Inject -class DiscoverySettingsFragment @Inject constructor( - private val controller: DiscoverySettingsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class DiscoverySettingsFragment : + VectorBaseFragment(), DiscoverySettingsController.Listener { + @Inject lateinit var controller: DiscoverySettingsController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt b/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt index ee36345418..f8499219aa 100644 --- a/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt @@ -28,6 +28,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.toReducedUrl @@ -42,9 +43,11 @@ import org.matrix.android.sdk.api.session.terms.TermsService import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class SetIdentityServerFragment @Inject constructor( - val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class SetIdentityServerFragment : + VectorBaseFragment() { + + @Inject lateinit var colorProvider: ColorProvider override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSetIdentityServerBinding { return FragmentSetIdentityServerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt index d4c89c1bca..cdc16f1f33 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.badge.BadgeDrawable +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.SpaceStateHandler import im.vector.app.core.extensions.commitTransaction @@ -60,19 +61,21 @@ import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo import org.matrix.android.sdk.api.session.room.model.RoomSummary import javax.inject.Inject -class HomeDetailFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val colorProvider: ColorProvider, - private val alertManager: PopupAlertManager, - private val callManager: WebRtcCallManager, - private val vectorPreferences: VectorPreferences, - private val spaceStateHandler: SpaceStateHandler, -) : VectorBaseFragment(), +@AndroidEntryPoint +class HomeDetailFragment : + VectorBaseFragment(), KeysBackupBanner.Delegate, CurrentCallsView.Callback, OnBackPressed, VectorMenuProvider { + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var alertManager: PopupAlertManager + @Inject lateinit var callManager: WebRtcCallManager + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var spaceStateHandler: SpaceStateHandler + private val viewModel: HomeDetailViewModel by fragmentViewModel() private val unknownDeviceDetectorSharedViewModel: UnknownDeviceDetectorSharedViewModel by activityViewModel() private val unreadMessagesSharedViewModel: UnreadMessagesSharedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt b/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt index 535f38e68e..011a7c4537 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.core.app.ActivityOptionsCompat import androidx.core.view.ViewCompat import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.observeK import im.vector.app.core.extensions.replaceChildFragment @@ -40,12 +41,14 @@ import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class HomeDrawerFragment @Inject constructor( - private val session: Session, - private val vectorPreferences: VectorPreferences, - private val avatarRenderer: AvatarRenderer, - private val buildMeta: BuildMeta, -) : VectorBaseFragment() { +@AndroidEntryPoint +class HomeDrawerFragment : + VectorBaseFragment() { + + @Inject lateinit var session: Session + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var buildMeta: BuildMeta private lateinit var sharedActionViewModel: HomeSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt b/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt index 47cfd1c28f..c5e33abf34 100644 --- a/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt @@ -21,11 +21,12 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentLoadingBinding -import javax.inject.Inject -class LoadingFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class LoadingFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoadingBinding { return FragmentLoadingBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt index 0e4f0d90dc..5e78acd5ce 100644 --- a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.badge.BadgeDrawable +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.SpaceStateHandler import im.vector.app.core.extensions.commitTransaction @@ -60,20 +61,22 @@ import org.matrix.android.sdk.api.session.room.model.RoomSummary import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class NewHomeDetailFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val colorProvider: ColorProvider, - private val alertManager: PopupAlertManager, - private val callManager: WebRtcCallManager, - private val vectorPreferences: VectorPreferences, - private val spaceStateHandler: SpaceStateHandler, - private val session: Session, -) : VectorBaseFragment(), +@AndroidEntryPoint +class NewHomeDetailFragment : + VectorBaseFragment(), KeysBackupBanner.Delegate, CurrentCallsView.Callback, OnBackPressed, VectorMenuProvider { + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var alertManager: PopupAlertManager + @Inject lateinit var callManager: WebRtcCallManager + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var spaceStateHandler: SpaceStateHandler + @Inject lateinit var session: Session + private val viewModel: HomeDetailViewModel by fragmentViewModel() private val unknownDeviceDetectorSharedViewModel: UnknownDeviceDetectorSharedViewModel by activityViewModel() private val unreadMessagesSharedViewModel: UnreadMessagesSharedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt index 4d44ff775a..c5d7d76322 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,11 +31,13 @@ import im.vector.app.features.home.room.detail.RoomDetailSharedAction import im.vector.app.features.home.room.detail.RoomDetailSharedActionViewModel import javax.inject.Inject -class BreadcrumbsFragment @Inject constructor( - private val breadcrumbsController: BreadcrumbsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class BreadcrumbsFragment : + VectorBaseFragment(), BreadcrumbsController.Listener { + @Inject lateinit var breadcrumbsController: BreadcrumbsController + private lateinit var sharedActionViewModel: RoomDetailSharedActionViewModel private val breadcrumbsViewModel: BreadcrumbsViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt index f164183914..2e23fbf257 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt @@ -67,6 +67,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.vanniktech.emoji.EmojiPopup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.play import im.vector.app.core.dialogs.ConfirmationDialogBuilder @@ -255,31 +256,8 @@ import java.net.URL import java.util.UUID import javax.inject.Inject -class TimelineFragment @Inject constructor( - private val session: Session, - private val avatarRenderer: AvatarRenderer, - private val timelineEventController: TimelineEventController, - autoCompleterFactory: AutoCompleter.Factory, - private val permalinkHandler: PermalinkHandler, - private val notificationDrawerManager: NotificationDrawerManager, - private val eventHtmlRenderer: EventHtmlRenderer, - private val vectorPreferences: VectorPreferences, - private val threadsManager: ThreadsManager, - private val colorProvider: ColorProvider, - private val dimensionConverter: DimensionConverter, - private val userPreferencesProvider: UserPreferencesProvider, - private val notificationUtils: NotificationUtils, - private val matrixItemColorProvider: MatrixItemColorProvider, - private val imageContentRenderer: ImageContentRenderer, - private val roomDetailPendingActionStore: RoomDetailPendingActionStore, - private val pillsPostProcessorFactory: PillsPostProcessor.Factory, - private val callManager: WebRtcCallManager, - private val audioMessagePlaybackTracker: AudioMessagePlaybackTracker, - private val shareIntentHandler: ShareIntentHandler, - private val clock: Clock, - private val vectorFeatures: VectorFeatures, - private val buildMeta: BuildMeta, -) : +@AndroidEntryPoint +class TimelineFragment : VectorBaseFragment(), TimelineEventController.Callback, VectorInviteView.Callback, @@ -289,6 +267,30 @@ class TimelineFragment @Inject constructor( CurrentCallsView.Callback, VectorMenuProvider { + @Inject lateinit var session: Session + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var timelineEventController: TimelineEventController + @Inject lateinit var autoCompleterFactory: AutoCompleter.Factory + @Inject lateinit var permalinkHandler: PermalinkHandler + @Inject lateinit var notificationDrawerManager: NotificationDrawerManager + @Inject lateinit var eventHtmlRenderer: EventHtmlRenderer + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var threadsManager: ThreadsManager + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var dimensionConverter: DimensionConverter + @Inject lateinit var userPreferencesProvider: UserPreferencesProvider + @Inject lateinit var notificationUtils: NotificationUtils + @Inject lateinit var matrixItemColorProvider: MatrixItemColorProvider + @Inject lateinit var imageContentRenderer: ImageContentRenderer + @Inject lateinit var roomDetailPendingActionStore: RoomDetailPendingActionStore + @Inject lateinit var pillsPostProcessorFactory: PillsPostProcessor.Factory + @Inject lateinit var callManager: WebRtcCallManager + @Inject lateinit var audioMessagePlaybackTracker: AudioMessagePlaybackTracker + @Inject lateinit var shareIntentHandler: ShareIntentHandler + @Inject lateinit var clock: Clock + @Inject lateinit var vectorFeatures: VectorFeatures + @Inject lateinit var buildMeta: BuildMeta + companion object { /** diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt index de51adf05a..713ca80089 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -51,12 +52,13 @@ data class SearchArgs( val roomAvatarUrl: String? ) : Parcelable -class SearchFragment @Inject constructor( - private val controller: SearchResultController -) : VectorBaseFragment(), +@AndroidEntryPoint +class SearchFragment : + VectorBaseFragment(), StateView.EventCallback, SearchResultController.Listener { + @Inject lateinit var controller: SearchResultController private val fragmentArgs: SearchArgs by args() private val searchViewModel: SearchViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt index c25fe546c3..de51101804 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt @@ -35,6 +35,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.extensions.cleanup @@ -70,17 +71,19 @@ data class RoomListParams( val displayMode: RoomListDisplayMode ) : Parcelable -class RoomListFragment @Inject constructor( - private val pagedControllerFactory: RoomSummaryPagedControllerFactory, - private val notificationDrawerManager: NotificationDrawerManager, - private val footerController: RoomListFooterController, - private val userPreferencesProvider: UserPreferencesProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomListFragment : + VectorBaseFragment(), RoomListListener, OnBackPressed, FilteredRoomFooterItem.Listener, NotifsFabMenuView.Listener { + @Inject lateinit var pagedControllerFactory: RoomSummaryPagedControllerFactory + @Inject lateinit var notificationDrawerManager: NotificationDrawerManager + @Inject lateinit var footerController: RoomListFooterController + @Inject lateinit var userPreferencesProvider: UserPreferencesProvider + private var modelBuildListener: OnModelBuildFinishedListener? = null private lateinit var sharedActionViewModel: RoomListQuickActionsSharedActionViewModel private val roomListParams: RoomListParams by args() diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt index 9464033896..8fedfef323 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.epoxy.OnModelBuildFinishedListener import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.extensions.cleanup @@ -57,13 +58,15 @@ import org.matrix.android.sdk.api.session.room.model.tag.RoomTag import org.matrix.android.sdk.api.session.room.notification.RoomNotificationState import javax.inject.Inject -class HomeRoomListFragment @Inject constructor( - private val roomSummaryItemFactory: RoomSummaryItemFactory, - private val userPreferencesProvider: UserPreferencesProvider, - private val recentRoomCarouselController: RecentRoomCarouselController -) : VectorBaseFragment(), +@AndroidEntryPoint +class HomeRoomListFragment : + VectorBaseFragment(), RoomListListener { + @Inject lateinit var roomSummaryItemFactory: RoomSummaryItemFactory + @Inject lateinit var userPreferencesProvider: UserPreferencesProvider + @Inject lateinit var recentRoomCarouselController: RecentRoomCarouselController + private val roomListViewModel: HomeRoomListViewModel by fragmentViewModel() private lateinit var sharedQuickActionsViewModel: RoomListQuickActionsSharedActionViewModel private lateinit var sharedActionViewModel: RoomListSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt index aaa9846c39..ef07067bac 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt @@ -26,6 +26,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -48,15 +49,17 @@ import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent import org.matrix.android.sdk.api.util.MatrixItem import javax.inject.Inject -class ThreadListFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val bugReporter: BugReporter, - private val threadListController: ThreadListController, - val threadListViewModelFactory: ThreadListViewModel.Factory -) : VectorBaseFragment(), +@AndroidEntryPoint +class ThreadListFragment : + VectorBaseFragment(), ThreadListController.Listener, VectorMenuProvider { + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var bugReporter: BugReporter + @Inject lateinit var threadListController: ThreadListController + @Inject lateinit var threadListViewModelFactory: ThreadListViewModel.Factory + private val threadListViewModel: ThreadListViewModel by fragmentViewModel() private val threadListArgs: ThreadListArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt b/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt index d96410010e..779818b3d6 100644 --- a/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt @@ -31,6 +31,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.mapbox.mapboxsdk.maps.MapView +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment import im.vector.app.core.platform.VectorBaseFragment @@ -53,15 +54,17 @@ import javax.inject.Inject /** * We should consider using SupportMapFragment for a out of the box lifecycle handling. */ -class LocationSharingFragment @Inject constructor( - private val urlMapProvider: UrlMapProvider, - private val avatarRenderer: AvatarRenderer, - private val matrixItemColorProvider: MatrixItemColorProvider, - private val vectorPreferences: VectorPreferences, -) : VectorBaseFragment(), +@AndroidEntryPoint +class LocationSharingFragment : + VectorBaseFragment(), LocationTargetChangeListener, VectorBaseBottomSheetDialogFragment.ResultListener { + @Inject lateinit var urlMapProvider: UrlMapProvider + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var matrixItemColorProvider: MatrixItemColorProvider + @Inject lateinit var vectorPreferences: VectorPreferences + private val viewModel: LocationSharingViewModel by fragmentViewModel() private val locationSharingNavigator: LocationSharingNavigator by lazy { DefaultLocationSharingNavigator(activity) } diff --git a/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt b/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt index fc600c550f..942021dd64 100644 --- a/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt @@ -62,7 +62,8 @@ import javax.inject.Inject * Screen showing a map with all the current users sharing their live location in a room. */ @AndroidEntryPoint -class LiveLocationMapViewFragment : VectorBaseFragment() { +class LiveLocationMapViewFragment : + VectorBaseFragment() { @Inject lateinit var urlMapProvider: UrlMapProvider @Inject lateinit var bottomSheetController: LiveLocationBottomSheetController diff --git a/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt index 8285d0156b..082cee02f0 100644 --- a/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt @@ -27,6 +27,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.mapbox.mapboxsdk.maps.MapView +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.platform.VectorMenuProvider @@ -43,12 +44,14 @@ import javax.inject.Inject /* * TODO Move locationPinProvider to a ViewModel */ -class LocationPreviewFragment @Inject constructor( - private val urlMapProvider: UrlMapProvider, - private val locationPinProvider: LocationPinProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class LocationPreviewFragment : + VectorBaseFragment(), VectorMenuProvider { + @Inject lateinit var urlMapProvider: UrlMapProvider + @Inject lateinit var locationPinProvider: LocationPinProvider + private val args: LocationSharingArgs by args() private val viewModel: LocationPreviewViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt index 1b49f9bfa1..25403b06f3 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt @@ -33,6 +33,7 @@ import android.webkit.WebViewClient import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.AssetReader import im.vector.app.databinding.FragmentLoginCaptchaBinding @@ -51,9 +52,11 @@ data class LoginCaptchaFragmentArgument( /** * In this screen, the user is asked to confirm he is not a robot. */ -class LoginCaptchaFragment @Inject constructor( - private val assetReader: AssetReader -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginCaptchaFragment : + AbstractLoginFragment() { + + @Inject lateinit var assetReader: AssetReader override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginCaptchaBinding { return FragmentLoginCaptchaBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt index 03010e0a75..d61044d101 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt @@ -28,6 +28,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Loading +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -41,7 +42,6 @@ import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.MatrixError import org.matrix.android.sdk.api.failure.isInvalidPassword import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen: @@ -51,7 +51,9 @@ import javax.inject.Inject * In signup mode: * - the user is asked for login and password */ -class LoginFragment @Inject constructor() : AbstractSSOLoginFragment() { +@AndroidEntryPoint +class LoginFragment : + AbstractSSOLoginFragment() { private var isSignupMode = false diff --git a/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt index 07253d80ec..2bc8419989 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt @@ -29,6 +29,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.args import com.google.i18n.phonenumbers.NumberParseException import com.google.i18n.phonenumbers.PhoneNumberUtil +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.isEmail @@ -41,7 +42,6 @@ import org.matrix.android.sdk.api.auth.registration.RegisterThreePid import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.is401 import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject enum class TextInputFormFragmentMode { SetEmail, @@ -59,7 +59,9 @@ data class LoginGenericTextInputFormFragmentArgument( /** * In this screen, the user is asked for a text input. */ -class LoginGenericTextInputFormFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginGenericTextInputFormFragment : + AbstractLoginFragment() { private val params: LoginGenericTextInputFormFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt index 1ca0774f54..87df2d9483 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt @@ -24,6 +24,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Loading import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -36,12 +37,13 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen, the user is asked for email and new password to reset his password. */ -class LoginResetPasswordFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginResetPasswordFragment : + AbstractLoginFragment() { // Show warning only once private var showWarning = true diff --git a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt index 689e8ef6b7..c95a778860 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt @@ -22,15 +22,17 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.Fail import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginResetPasswordMailConfirmationBinding import org.matrix.android.sdk.api.failure.is401 -import javax.inject.Inject /** * In this screen, the user is asked to check their email and to click on a button once it's done. */ -class LoginResetPasswordMailConfirmationFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginResetPasswordMailConfirmationFragment : + AbstractLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordMailConfirmationBinding { return FragmentLoginResetPasswordMailConfirmationBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt index d2f1f620bd..e601f0512d 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt @@ -20,13 +20,15 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentLoginResetPasswordSuccessBinding -import javax.inject.Inject /** * In this screen, we confirm to the user that his password has been reset. */ -class LoginResetPasswordSuccessFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginResetPasswordSuccessFragment : + AbstractLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordSuccessBinding { return FragmentLoginResetPasswordSuccessBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt index 6c49bafbba..0813957e99 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt @@ -20,16 +20,18 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.openUrlInChromeCustomTab import im.vector.app.databinding.FragmentLoginServerSelectionBinding import me.gujun.android.span.span -import javax.inject.Inject /** * In this screen, the user will choose between matrix.org, modular or other type of homeserver. */ -class LoginServerSelectionFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginServerSelectionFragment : + AbstractLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerSelectionBinding { return FragmentLoginServerSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt index 937e1bdf55..aabe0c2f2f 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt @@ -27,6 +27,7 @@ import androidx.core.view.isInvisible import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.google.android.material.textfield.TextInputLayout +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.resources.BuildMeta @@ -43,9 +44,11 @@ import javax.inject.Inject /** * In this screen, the user is prompted to enter a homeserver url. */ -class LoginServerUrlFormFragment @Inject constructor( - private val buildMeta: BuildMeta, -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginServerUrlFormFragment : + AbstractLoginFragment() { + + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerUrlFormBinding { return FragmentLoginServerUrlFormBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt index aafd426335..dbcf674847 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt @@ -22,16 +22,18 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.toReducedUrl import im.vector.app.databinding.FragmentLoginSignupSigninSelectionBinding import im.vector.app.features.login.SocialLoginButtonsView.Mode -import javax.inject.Inject /** * In this screen, the user is asked to sign up or to sign in to the homeserver. */ -class LoginSignUpSignInSelectionFragment @Inject constructor() : AbstractSSOLoginFragment() { +@AndroidEntryPoint +class LoginSignUpSignInSelectionFragment : + AbstractSSOLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginSignupSigninSelectionBinding { return FragmentLoginSignupSigninSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt index 7f5e87967b..6a8de819fd 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.resources.BuildMeta import im.vector.app.databinding.FragmentLoginSplashBinding @@ -35,10 +36,12 @@ import javax.inject.Inject /** * In this screen, the user is viewing an introduction to what he can do with this application. */ -class LoginSplashFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val buildMeta: BuildMeta, -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginSplashFragment : + AbstractLoginFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginSplashBinding { return FragmentLoginSplashBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt index 07251f52a2..c13769e9e9 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt @@ -22,11 +22,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginWaitForEmailBinding import kotlinx.parcelize.Parcelize import org.matrix.android.sdk.api.failure.is401 -import javax.inject.Inject @Parcelize data class LoginWaitForEmailFragmentArgument( @@ -36,7 +36,9 @@ data class LoginWaitForEmailFragmentArgument( /** * In this screen, the user is asked to check their emails. */ -class LoginWaitForEmailFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginWaitForEmailFragment : + AbstractLoginFragment() { private val params: LoginWaitForEmailFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt index 0940eb50ee..b89018ccff 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt @@ -32,6 +32,7 @@ import android.webkit.WebView import android.webkit.WebViewClient import com.airbnb.mvrx.activityViewModel import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.AssetReader import im.vector.app.databinding.FragmentLoginWebBinding @@ -47,9 +48,11 @@ import javax.inject.Inject * This screen is displayed when the application does not support login flow or registration flow * of the homeserver, as a fallback to login or to create an account. */ -class LoginWebFragment @Inject constructor( - private val assetReader: AssetReader -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginWebFragment : + AbstractLoginFragment() { + + @Inject lateinit var assetReader: AssetReader private val softLogoutViewModel: SoftLogoutViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt b/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt index ce499f290b..a7a4274876 100755 --- a/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt @@ -42,11 +42,12 @@ data class LoginTermsFragmentArgument( /** * LoginTermsFragment displays the list of policies the user has to accept. */ -class LoginTermsFragment @Inject constructor( - private val policyController: PolicyController -) : AbstractLoginFragment(), +class LoginTermsFragment : + AbstractLoginFragment(), PolicyController.PolicyControllerListener { + @Inject lateinit var policyController: PolicyController + private val params: LoginTermsFragmentArgument by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt index 8dd9fd030a..f564802b57 100644 --- a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt +++ b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.ButtonStateView @@ -38,10 +39,12 @@ import org.matrix.android.sdk.api.session.room.model.Membership import org.matrix.android.sdk.api.session.room.model.RoomType import javax.inject.Inject -class MatrixToRoomSpaceFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val spaceCardRenderer: SpaceCardRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class MatrixToRoomSpaceFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var spaceCardRenderer: SpaceCardRenderer private val sharedViewModel: MatrixToBottomSheetViewModel by parentFragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt index 3792183bca..c8b18e327b 100644 --- a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt +++ b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt @@ -28,15 +28,18 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentMatrixToUserCardBinding import im.vector.app.features.home.AvatarRenderer import javax.inject.Inject -class MatrixToUserFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class MatrixToUserFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer private val sharedViewModel: MatrixToBottomSheetViewModel by parentFragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt index 9f2aadef5c..a53ca52e85 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.text.toSpannable import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.play import im.vector.app.core.di.ActiveSessionHolder @@ -34,9 +35,11 @@ import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewState import javax.inject.Inject -class FtueAuthAccountCreatedFragment @Inject constructor( - private val activeSessionHolder: ActiveSessionHolder -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthAccountCreatedFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var activeSessionHolder: ActiveSessionHolder private var hasPlayedConfetti = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt index 1f44922b3b..f170868307 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.view.ViewStub import com.airbnb.mvrx.args import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.crawlCausesFor import im.vector.app.databinding.FragmentFtueLoginCaptchaBinding @@ -43,9 +44,11 @@ data class FtueAuthCaptchaFragmentArgument( /** * In this screen, the user is asked to confirm they are not a robot. */ -class FtueAuthCaptchaFragment @Inject constructor( - private val captchaWebview: CaptchaWebview -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCaptchaFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var captchaWebview: CaptchaWebview private val params: FtueAuthCaptchaFragmentArgument by args() private var webViewBinding: ViewStubWebviewBinding? = null diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt index c4b4e807ac..234a5789c1 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt @@ -22,15 +22,17 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.inputmethod.EditorInfo +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.hasContent import im.vector.app.core.platform.SimpleTextWatcher import im.vector.app.databinding.FragmentFtueDisplayNameBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewState -import javax.inject.Inject -class FtueAuthChooseDisplayNameFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthChooseDisplayNameFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueDisplayNameBinding { return FragmentFtueDisplayNameBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt index 1a673b156a..55ee7e7576 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.widget.Toast import androidx.core.view.isInvisible import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper @@ -38,11 +39,14 @@ import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.util.MatrixItem import javax.inject.Inject -class FtueAuthChooseProfilePictureFragment @Inject constructor( - private val activeSessionHolder: ActiveSessionHolder, - colorProvider: ColorProvider, - clock: Clock, -) : AbstractFtueAuthFragment(), GalleryOrCameraDialogHelper.Listener { +@AndroidEntryPoint +class FtueAuthChooseProfilePictureFragment : + AbstractFtueAuthFragment(), + GalleryOrCameraDialogHelper.Listener { + + @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) private val avatarRenderer: AvatarRenderer by lazy { requireContext().singletonEntryPoint().avatarRenderer() } diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt index b24511b4bc..6877810f0a 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import androidx.autofill.HintConstants import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.clearErrorOnChange import im.vector.app.core.extensions.content @@ -48,10 +49,12 @@ import kotlinx.coroutines.flow.launchIn import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class FtueAuthCombinedLoginFragment @Inject constructor( - private val loginFieldsValidation: LoginFieldsValidation, - private val loginErrorParser: LoginErrorParser -) : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCombinedLoginFragment : + AbstractSSOFtueAuthFragment() { + + @Inject lateinit var loginFieldsValidation: LoginFieldsValidation + @Inject lateinit var loginErrorParser: LoginErrorParser override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueCombinedLoginBinding { return FragmentFtueCombinedLoginBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt index d06d1e8051..66668f5303 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt @@ -27,6 +27,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.clearErrorOnChange import im.vector.app.core.extensions.content @@ -60,11 +61,12 @@ import org.matrix.android.sdk.api.failure.isRegistrationDisabled import org.matrix.android.sdk.api.failure.isUsernameInUse import org.matrix.android.sdk.api.failure.isWeakPassword import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject private const val MINIMUM_PASSWORD_LENGTH = 8 -class FtueAuthCombinedRegisterFragment @Inject constructor() : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCombinedRegisterFragment : + AbstractSSOFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueCombinedRegisterBinding { return FragmentFtueCombinedRegisterBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt index 2563c1d777..abb8e4ed7d 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.clearErrorOnChange @@ -37,9 +38,10 @@ import im.vector.app.features.onboarding.OnboardingFlow import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.failure.isHomeserverUnavailable -import javax.inject.Inject -class FtueAuthCombinedServerSelectionFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCombinedServerSelectionFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueServerSelectionCombinedBinding { return FragmentFtueServerSelectionCombinedBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt index 5de8fce82f..4cd35c8a66 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.autofillEmail @@ -35,9 +36,10 @@ import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState import im.vector.app.features.onboarding.RegisterAction import org.matrix.android.sdk.api.auth.registration.RegisterThreePid -import javax.inject.Inject -class FtueAuthEmailEntryFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthEmailEntryFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueEmailInputBinding { return FragmentFtueEmailInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt index edfbcd89b6..02d0c25cfd 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt @@ -29,6 +29,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.args import com.google.i18n.phonenumbers.NumberParseException import com.google.i18n.phonenumbers.PhoneNumberUtil +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.isEmail @@ -44,7 +45,6 @@ import org.matrix.android.sdk.api.auth.registration.RegisterThreePid import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.is401 import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject @Parcelize data class FtueAuthGenericTextInputFormFragmentArgument( @@ -56,7 +56,9 @@ data class FtueAuthGenericTextInputFormFragmentArgument( /** * In this screen, the user is asked for a text input. */ -class FtueAuthGenericTextInputFormFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthGenericTextInputFormFragment : + AbstractFtueAuthFragment() { private val params: FtueAuthGenericTextInputFormFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt index b8b30529a6..0efd8390ba 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt @@ -20,6 +20,7 @@ import android.os.Parcelable import android.view.LayoutInflater import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentLoginCaptchaBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState @@ -35,9 +36,11 @@ data class FtueAuthLegacyStyleCaptchaFragmentArgument( /** * In this screen, the user is asked to confirm they are not a robot. */ -class FtueAuthLegacyStyleCaptchaFragment @Inject constructor( - private val captchaWebview: CaptchaWebview -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthLegacyStyleCaptchaFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var captchaWebview: CaptchaWebview private val params: FtueAuthLegacyStyleCaptchaFragmentArgument by args() private var isWebViewLoaded = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt index c815f354f0..fb468ddeb2 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt @@ -21,16 +21,18 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginWaitForEmailBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.RegisterAction -import javax.inject.Inject /** * In this screen, the user is asked to check their emails. */ -class FtueAuthLegacyWaitForEmailFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthLegacyWaitForEmailFragment : + AbstractFtueAuthFragment() { private val params: FtueAuthWaitForEmailFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt index ad159943b1..3fd8df6bb9 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt @@ -28,6 +28,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -53,7 +54,6 @@ import org.matrix.android.sdk.api.failure.isRegistrationDisabled import org.matrix.android.sdk.api.failure.isUsernameInUse import org.matrix.android.sdk.api.failure.isWeakPassword import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen: @@ -63,7 +63,9 @@ import javax.inject.Inject * In signup mode: * - the user is asked for login and password */ -class FtueAuthLoginFragment @Inject constructor() : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthLoginFragment : + AbstractSSOFtueAuthFragment() { private var isSignupMode = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt index 8e88a6ed46..96cc1c3b45 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt @@ -20,12 +20,14 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentFtuePersonalizationCompleteBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewEvents -import javax.inject.Inject -class FtueAuthPersonalizationCompleteFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthPersonalizationCompleteFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtuePersonalizationCompleteBinding { return FragmentFtuePersonalizationCompleteBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt index 39577efa19..af6c33c028 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.clearErrorOnChange @@ -32,14 +33,15 @@ import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.RegisterAction import kotlinx.parcelize.Parcelize import org.matrix.android.sdk.api.failure.Failure -import javax.inject.Inject @Parcelize data class FtueAuthPhoneConfirmationFragmentArgument( val msisdn: String ) : Parcelable -class FtueAuthPhoneConfirmationFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthPhoneConfirmationFragment : + AbstractFtueAuthFragment() { private val params: FtueAuthPhoneConfirmationFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt index 32291ecb6e..620dd1293c 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.lifecycle.lifecycleScope +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.autofillPhoneNumber @@ -38,9 +39,11 @@ import org.matrix.android.sdk.api.auth.registration.RegisterThreePid import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class FtueAuthPhoneEntryFragment @Inject constructor( - private val phoneNumberParser: PhoneNumberParser -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthPhoneEntryFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var phoneNumberParser: PhoneNumberParser override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtuePhoneInputBinding { return FragmentFtuePhoneInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt index 721423ecdf..0daf1b3c6f 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt @@ -39,7 +39,8 @@ data class FtueAuthResetPasswordBreakerArgument( ) : Parcelable @AndroidEntryPoint -class FtueAuthResetPasswordBreakerFragment : AbstractFtueAuthFragment() { +class FtueAuthResetPasswordBreakerFragment : + AbstractFtueAuthFragment() { @Inject lateinit var themeProvider: ThemeProvider private val params: FtueAuthResetPasswordBreakerArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt index 5fa1a8ed82..51c73a40e3 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt @@ -33,7 +33,8 @@ import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState @AndroidEntryPoint -class FtueAuthResetPasswordEmailEntryFragment : AbstractFtueAuthFragment() { +class FtueAuthResetPasswordEmailEntryFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueResetPasswordEmailInputBinding { return FragmentFtueResetPasswordEmailInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt index 61826352bf..0b0e06a0b0 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt @@ -34,7 +34,8 @@ import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.failure.isMissingEmailVerification @AndroidEntryPoint -class FtueAuthResetPasswordEntryFragment : AbstractFtueAuthFragment() { +class FtueAuthResetPasswordEntryFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueResetPasswordInputBinding { return FragmentFtueResetPasswordInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt index 9bef084750..376218d474 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -35,12 +36,13 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen, the user is asked for email and new password to reset his password. */ -class FtueAuthResetPasswordFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthResetPasswordFragment : + AbstractFtueAuthFragment() { // Show warning only once private var showWarning = true diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt index 76fbae6f40..301ed4fd8b 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt @@ -21,17 +21,19 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginResetPasswordMailConfirmationBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.failure.is401 -import javax.inject.Inject /** * In this screen, the user is asked to check their email and to click on a button once it's done. */ -class FtueAuthResetPasswordMailConfirmationFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthResetPasswordMailConfirmationFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordMailConfirmationBinding { return FragmentLoginResetPasswordMailConfirmationBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt index 956566a587..3e9881ec56 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt @@ -20,15 +20,17 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentLoginResetPasswordSuccessBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewEvents -import javax.inject.Inject /** * In this screen, we confirm to the user that his password has been reset. */ -class FtueAuthResetPasswordSuccessFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthResetPasswordSuccessFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordSuccessBinding { return FragmentLoginResetPasswordSuccessBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt index d4396d81d2..9977152b5a 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.openUrlInChromeCustomTab import im.vector.app.databinding.FragmentLoginServerSelectionBinding @@ -29,12 +30,13 @@ import im.vector.app.features.login.SignMode import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState import me.gujun.android.span.span -import javax.inject.Inject /** * In this screen, the user will choose between matrix.org, modular or other type of homeserver. */ -class FtueAuthServerSelectionFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthServerSelectionFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerSelectionBinding { return FragmentLoginServerSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt index b16ad3ee93..91f176edf5 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt @@ -27,6 +27,7 @@ import androidx.core.view.isInvisible import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.google.android.material.textfield.TextInputLayout +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.resources.BuildMeta @@ -47,9 +48,11 @@ import javax.inject.Inject /** * In this screen, the user is prompted to enter a homeserver url. */ -class FtueAuthServerUrlFormFragment @Inject constructor( - private val buildMeta: BuildMeta, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthServerUrlFormFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerUrlFormBinding { return FragmentLoginServerUrlFormBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt index dc4c6d8a34..b2f2eeb167 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.annotation.DrawableRes import androidx.core.view.isVisible import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.toReducedUrl import im.vector.app.databinding.FragmentLoginSignupSigninSelectionBinding @@ -34,12 +35,13 @@ import im.vector.app.features.login.SocialLoginButtonsView.Mode import im.vector.app.features.login.render import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState -import javax.inject.Inject /** * In this screen, the user is asked to sign up or to sign in to the homeserver. */ -class FtueAuthSignUpSignInSelectionFragment @Inject constructor() : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthSignUpSignInSelectionFragment : + AbstractSSOFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginSignupSigninSelectionBinding { return FragmentLoginSignupSigninSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt index 0333f6047b..f41bb4f547 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt @@ -27,6 +27,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.lifecycleScope import androidx.viewpager2.widget.ViewPager2 import com.google.android.material.tabs.TabLayoutMediator +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.incrementByOneAndWrap import im.vector.app.core.extensions.setCurrentItem @@ -44,13 +45,15 @@ import javax.inject.Inject private const val CAROUSEL_ROTATION_DELAY_MS = 5000L private const val CAROUSEL_TRANSITION_TIME_MS = 500L -class FtueAuthSplashCarouselFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val vectorFeatures: VectorFeatures, - private val carouselController: SplashCarouselController, - private val carouselStateFactory: SplashCarouselStateFactory, - private val buildMeta: BuildMeta, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthSplashCarouselFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var vectorFeatures: VectorFeatures + @Inject lateinit var carouselController: SplashCarouselController + @Inject lateinit var carouselStateFactory: SplashCarouselStateFactory + @Inject lateinit var buildMeta: BuildMeta private var tabLayoutMediator: TabLayoutMediator? = null diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt index a04e8a5c01..b62e72daee 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.resources.BuildMeta import im.vector.app.databinding.FragmentFtueAuthSplashBinding @@ -34,11 +35,13 @@ import javax.inject.Inject /** * In this screen, the user is viewing an introduction to what he can do with this application. */ -class FtueAuthSplashFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val vectorFeatures: VectorFeatures, - private val buildMeta: BuildMeta, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthSplashFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var vectorFeatures: VectorFeatures + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueAuthSplashBinding { return FragmentFtueAuthSplashBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt index 289aa811d6..da8aac1d54 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt @@ -29,6 +29,7 @@ import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.core.content.ContextCompat import androidx.core.view.isGone +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.getResTintedDrawable import im.vector.app.core.extensions.getTintedDrawable @@ -45,10 +46,12 @@ import javax.inject.Inject private const val DARK_MODE_ICON_BACKGROUND_ALPHA = 0.30f private const val LIGHT_MODE_ICON_BACKGROUND_ALPHA = 0.15f -class FtueAuthUseCaseFragment @Inject constructor( - private val themeProvider: ThemeProvider, - private val vectorFeatures: VectorFeatures, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthUseCaseFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var themeProvider: ThemeProvider + @Inject lateinit var vectorFeatures: VectorFeatures override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueAuthUseCaseBinding { return FragmentFtueAuthUseCaseBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt index eb00dc3e21..ddd662be86 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.isInvisible import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.colorTerminatingFullStop import im.vector.app.databinding.FragmentFtueWaitForEmailVerificationBinding @@ -42,9 +43,11 @@ data class FtueAuthWaitForEmailFragmentArgument( /** * In this screen, the user is asked to check their emails. */ -class FtueAuthWaitForEmailFragment @Inject constructor( - private val themeProvider: ThemeProvider -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthWaitForEmailFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var themeProvider: ThemeProvider private val params: FtueAuthWaitForEmailFragmentArgument by args() private var inferHasLeftAndReturnedToScreen = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt index 9e32ec263c..62a89e437b 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt @@ -31,6 +31,7 @@ import android.webkit.SslErrorHandler import android.webkit.WebView import android.webkit.WebViewClient import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.AssetReader import im.vector.app.databinding.FragmentLoginWebBinding @@ -49,9 +50,11 @@ import javax.inject.Inject * This screen is displayed when the application does not support login flow or registration flow * of the homeserver, as a fallback to login or to create an account. */ -class FtueAuthWebFragment @Inject constructor( - private val assetReader: AssetReader -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthWebFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var assetReader: AssetReader override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginWebBinding { return FragmentLoginWebBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt index af38062663..1b5c1adc74 100755 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.toReducedUrl @@ -46,11 +47,13 @@ data class FtueAuthTermsLegacyStyleFragmentArgument( /** * LoginTermsFragment displays the list of policies the user has to accept. */ -class FtueAuthLegacyStyleTermsFragment @Inject constructor( - private val policyController: PolicyController -) : AbstractFtueAuthFragment(), +@AndroidEntryPoint +class FtueAuthLegacyStyleTermsFragment : + AbstractFtueAuthFragment(), PolicyController.PolicyControllerListener { + @Inject lateinit var policyController: PolicyController + private val params: FtueAuthTermsLegacyStyleFragmentArgument by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt index 371c618d54..e9b32a1c7f 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.doOnLayout import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,11 +44,13 @@ import kotlin.math.roundToInt /** * LoginTermsFragment displays the list of policies the user has to accept. */ -class FtueAuthTermsFragment @Inject constructor( - private val policyController: PolicyController -) : AbstractFtueAuthFragment(), +@AndroidEntryPoint +class FtueAuthTermsFragment : + AbstractFtueAuthFragment(), PolicyController.PolicyControllerListener { + @Inject lateinit var policyController: PolicyController + private val params: FtueAuthTermsLegacyStyleFragmentArgument by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueLoginTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt b/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt index 1688452167..3a3a0e66fd 100644 --- a/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt +++ b/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt @@ -26,6 +26,7 @@ import android.widget.Toast import com.airbnb.mvrx.args import com.airbnb.mvrx.asMavericksArgs import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.replaceFragment import im.vector.app.core.platform.VectorBaseFragment @@ -49,11 +50,13 @@ data class PinArgs( val pinMode: PinMode ) : Parcelable -class PinFragment @Inject constructor( - private val pinCodeStore: PinCodeStore, - private val vectorPreferences: VectorPreferences, - private val defaultConfiguration: LockScreenConfiguration, -) : VectorBaseFragment() { +@AndroidEntryPoint +class PinFragment : + VectorBaseFragment() { + + @Inject lateinit var pinCodeStore: PinCodeStore + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var defaultConfiguration: LockScreenConfiguration private val fragmentArgs: PinArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt b/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt index a7a228a105..8e9fdf4fae 100644 --- a/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt +++ b/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt @@ -35,7 +35,8 @@ import im.vector.app.features.pin.lockscreen.configuration.LockScreenMode import im.vector.app.features.pin.lockscreen.views.LockScreenCodeView @AndroidEntryPoint -class LockScreenFragment : VectorBaseFragment() { +class LockScreenFragment : + VectorBaseFragment() { var lockScreenListener: LockScreenListener? = null var onLeftButtonClickedListener: View.OnClickListener? = null diff --git a/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt b/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt index 0feef3b5e5..848b27009b 100644 --- a/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt +++ b/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.args import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -42,9 +43,12 @@ data class CreatePollArgs( val mode: PollMode ) : Parcelable -class CreatePollFragment @Inject constructor( - private val controller: CreatePollController -) : VectorBaseFragment(), CreatePollController.Callback { +@AndroidEntryPoint +class CreatePollFragment : + VectorBaseFragment(), + CreatePollController.Callback { + + @Inject lateinit var controller: CreatePollController private val viewModel: CreatePollViewModel by activityViewModel() private val args: CreatePollArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt b/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt index 9dc7fa6548..c2b81abf12 100644 --- a/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.google.zxing.BarcodeFormat import com.google.zxing.Result import com.google.zxing.ResultMetadataType +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.registerStartForActivityResult @@ -45,7 +46,6 @@ import im.vector.lib.multipicker.utils.ImageUtils import kotlinx.parcelize.Parcelize import me.dm7.barcodescanner.zxing.ZXingScannerView import org.matrix.android.sdk.api.extensions.tryOrNull -import javax.inject.Inject @Parcelize data class QrScannerArgs( @@ -53,7 +53,10 @@ data class QrScannerArgs( @StringRes val titleRes: Int ) : Parcelable -class QrCodeScannerFragment @Inject constructor() : VectorBaseFragment(), ZXingScannerView.ResultHandler { +@AndroidEntryPoint +class QrCodeScannerFragment : + VectorBaseFragment(), + ZXingScannerView.ResultHandler { private val qrViewModel: QrCodeScannerViewModel by activityViewModel() private val scannerArgs: QrScannerArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt b/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt index bcc18a995a..24065645ea 100644 --- a/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt +++ b/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt @@ -20,17 +20,20 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.lifecycle.lifecycleScope +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.EmojiChooserFragmentBinding import javax.inject.Inject -class EmojiChooserFragment @Inject constructor( - private val emojiRecyclerAdapter: EmojiRecyclerAdapter -) : VectorBaseFragment(), +@AndroidEntryPoint +class EmojiChooserFragment : + VectorBaseFragment(), EmojiRecyclerAdapter.InteractionListener, ReactionClickListener { + @Inject lateinit var emojiRecyclerAdapter: EmojiRecyclerAdapter + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): EmojiChooserFragmentBinding { return EmojiChooserFragmentBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt b/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt index 9292ad8fc6..3a448185ac 100644 --- a/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt +++ b/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt @@ -21,6 +21,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,12 @@ import im.vector.app.core.utils.LiveEvent import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class EmojiSearchResultFragment @Inject constructor( - private val epoxyController: EmojiSearchResultController -) : VectorBaseFragment(), ReactionClickListener { +@AndroidEntryPoint +class EmojiSearchResultFragment : + VectorBaseFragment(), + ReactionClickListener { + + @Inject lateinit var epoxyController: EmojiSearchResultController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt index e16e1ec313..847c675c5e 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt @@ -25,6 +25,7 @@ import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -51,14 +52,16 @@ import javax.inject.Inject * What can be improved: * - When filtering more (when entering new chars), we could filter on result we already have, during the new server request, to avoid empty screen effect. */ -class PublicRoomsFragment @Inject constructor( - private val publicRoomsController: PublicRoomsController, - private val permalinkHandler: PermalinkHandler, - private val session: Session -) : VectorBaseFragment(), +@AndroidEntryPoint +class PublicRoomsFragment : + VectorBaseFragment(), PublicRoomsController.Callback, VectorMenuProvider { + @Inject lateinit var publicRoomsController: PublicRoomsController + @Inject lateinit var permalinkHandler: PermalinkHandler + @Inject lateinit var session: Session + private val viewModel: RoomDirectoryViewModel by activityViewModel() private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt index 649ba8fd13..34fffeb118 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.cleanup @@ -61,16 +62,18 @@ data class CreateRoomArgs( val openAfterCreate: Boolean = true ) : Parcelable -class CreateRoomFragment @Inject constructor( - private val createRoomController: CreateRoomController, - private val createSpaceController: CreateSubSpaceController, - colorProvider: ColorProvider, - clock: Clock, -) : VectorBaseFragment(), +@AndroidEntryPoint +class CreateRoomFragment : + VectorBaseFragment(), CreateRoomController.Listener, GalleryOrCameraDialogHelper.Listener, OnBackPressed { + @Inject lateinit var createRoomController: CreateRoomController + @Inject lateinit var createSpaceController: CreateSubSpaceController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel private val viewModel: CreateRoomViewModel by fragmentViewModel() private val args: CreateRoomArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt index 66e09bb2d4..32be4e076f 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,12 +40,14 @@ import im.vector.app.features.roomdirectory.RoomDirectoryViewModel import timber.log.Timber import javax.inject.Inject -class RoomDirectoryPickerFragment @Inject constructor( - private val roomDirectoryPickerController: RoomDirectoryPickerController -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomDirectoryPickerFragment : + VectorBaseFragment(), OnBackPressed, RoomDirectoryPickerController.Callback { + @Inject lateinit var roomDirectoryPickerController: RoomDirectoryPickerController + private val viewModel: RoomDirectoryViewModel by activityViewModel() private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel private val pickerViewModel: RoomDirectoryPickerViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt index 826dea0c3b..7c639dde99 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.ButtonStateView @@ -52,9 +53,11 @@ import javax.inject.Inject /** * Note: this Fragment is also used for world readable room for the moment. */ -class RoomPreviewNoPreviewFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class RoomPreviewNoPreviewFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer private val roomPreviewViewModel: RoomPreviewViewModel by fragmentViewModel() private val roomPreviewData: RoomPreviewData by args() diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt index 686c87a18c..2894cd4621 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.AppBarStateChangeListener import im.vector.app.core.animations.MatrixItemAppBarStateChangeListener @@ -69,15 +70,17 @@ data class RoomMemberProfileArgs( val roomId: String? = null ) : Parcelable -class RoomMemberProfileFragment @Inject constructor( - private val roomMemberProfileController: RoomMemberProfileController, - private val avatarRenderer: AvatarRenderer, - private val roomDetailPendingActionStore: RoomDetailPendingActionStore, - private val matrixItemColorProvider: MatrixItemColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomMemberProfileFragment : + VectorBaseFragment(), RoomMemberProfileController.Callback, VectorMenuProvider { + @Inject lateinit var roomMemberProfileController: RoomMemberProfileController + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var roomDetailPendingActionStore: RoomDetailPendingActionStore + @Inject lateinit var matrixItemColorProvider: MatrixItemColorProvider + private lateinit var headerViews: ViewStubRoomMemberProfileHeaderBinding private val fragmentArgs: RoomMemberProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt index 48a8a819bc..7ca32bb49b 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,12 +31,14 @@ import im.vector.app.databinding.BottomSheetGenericListBinding import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo import javax.inject.Inject -class DeviceListFragment @Inject constructor( - val dimensionConverter: DimensionConverter, - val epoxyController: DeviceListEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class DeviceListFragment : + VectorBaseFragment(), DeviceListEpoxyController.InteractionListener { + @Inject lateinit var dimensionConverter: DimensionConverter + @Inject lateinit var epoxyController: DeviceListEpoxyController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetGenericListBinding { return BottomSheetGenericListBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt index a733197372..d8abd91091 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,12 +31,14 @@ import im.vector.app.databinding.BottomSheetGenericListBinding import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo import javax.inject.Inject -class DeviceTrustInfoActionFragment @Inject constructor( - val dimensionConverter: DimensionConverter, - val epoxyController: DeviceTrustInfoEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class DeviceTrustInfoActionFragment : + VectorBaseFragment(), DeviceTrustInfoEpoxyController.InteractionListener { + @Inject lateinit var dimensionConverter: DimensionConverter + @Inject lateinit var epoxyController: DeviceTrustInfoEpoxyController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetGenericListBinding { return BottomSheetGenericListBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt index 1830cc04e8..4135ab3d1c 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt @@ -31,6 +31,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.AppBarStateChangeListener import im.vector.app.core.animations.MatrixItemAppBarStateChangeListener @@ -65,15 +66,16 @@ data class RoomProfileArgs( val roomId: String ) : Parcelable -class RoomProfileFragment @Inject constructor( - private val roomProfileController: RoomProfileController, - private val avatarRenderer: AvatarRenderer, - private val roomDetailPendingActionStore: RoomDetailPendingActionStore, -) : +@AndroidEntryPoint +class RoomProfileFragment : VectorBaseFragment(), RoomProfileController.Callback, VectorMenuProvider { + @Inject lateinit var roomProfileController: RoomProfileController + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var roomDetailPendingActionStore: RoomDetailPendingActionStore + private lateinit var headerViews: ViewStubRoomProfileHeaderBinding private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt index 49f658861b..b9b0f604c7 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt @@ -26,6 +26,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -46,13 +47,14 @@ import org.matrix.android.sdk.api.session.room.model.RoomDirectoryVisibility import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomAliasFragment @Inject constructor( - private val controller: RoomAliasController, - private val avatarRenderer: AvatarRenderer -) : +@AndroidEntryPoint +class RoomAliasFragment : VectorBaseFragment(), RoomAliasController.Callback { + @Inject lateinit var controller: RoomAliasController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomAliasViewModel by fragmentViewModel() private lateinit var sharedActionViewModel: RoomAliasBottomSheetSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt index 8063212ba1..a8e34d0117 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt @@ -26,6 +26,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,12 +39,14 @@ import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomBannedMemberListFragment @Inject constructor( - private val roomMemberListController: RoomBannedMemberListController, - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomBannedMemberListFragment : + VectorBaseFragment(), RoomBannedMemberListController.Callback { + @Inject lateinit var roomMemberListController: RoomBannedMemberListController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomBannedMemberListViewModel by fragmentViewModel() private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt index 52a2339f13..259fde1635 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,12 +44,14 @@ import org.matrix.android.sdk.api.session.room.model.RoomThirdPartyInviteContent import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomMemberListFragment @Inject constructor( - private val roomMemberListController: RoomMemberListController, - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomMemberListFragment : + VectorBaseFragment(), RoomMemberListController.Callback { + @Inject lateinit var roomMemberListController: RoomMemberListController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomMemberListViewModel by fragmentViewModel() private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt index 1bf392d9f8..7afd696332 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -35,13 +36,15 @@ import org.matrix.android.sdk.api.session.room.notification.RoomNotificationStat import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomNotificationSettingsFragment @Inject constructor( - val viewModelFactory: RoomNotificationSettingsViewModel.Factory, - private val roomNotificationSettingsController: RoomNotificationSettingsController, - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomNotificationSettingsFragment : + VectorBaseFragment(), RoomNotificationSettingsController.Callback { + @Inject lateinit var viewModelFactory: RoomNotificationSettingsViewModel.Factory + @Inject lateinit var roomNotificationSettingsController: RoomNotificationSettingsController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomNotificationSettingsViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentRoomSettingGenericBinding { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt index dc42310c16..06b9343dbf 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt @@ -24,6 +24,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,13 +39,14 @@ import org.matrix.android.sdk.api.session.room.powerlevels.Role import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomPermissionsFragment @Inject constructor( - private val controller: RoomPermissionsController, - private val avatarRenderer: AvatarRenderer -) : +@AndroidEntryPoint +class RoomPermissionsFragment : VectorBaseFragment(), RoomPermissionsController.Callback { + @Inject lateinit var controller: RoomPermissionsController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomPermissionsViewModel by fragmentViewModel() private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt index 45c8461fa7..3a4dccc71e 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.cleanup @@ -56,18 +57,19 @@ import org.matrix.android.sdk.api.util.toMatrixItem import java.util.UUID import javax.inject.Inject -class RoomSettingsFragment @Inject constructor( - private val controller: RoomSettingsController, - colorProvider: ColorProvider, - private val avatarRenderer: AvatarRenderer, - clock: Clock, -) : +@AndroidEntryPoint +class RoomSettingsFragment : VectorBaseFragment(), RoomSettingsController.Callback, OnBackPressed, GalleryOrCameraDialogHelper.Listener, VectorMenuProvider { + @Inject lateinit var controller: RoomSettingsController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var clock: Clock + private val viewModel: RoomSettingsViewModel by fragmentViewModel() private lateinit var roomProfileSharedActionViewModel: RoomProfileSharedActionViewModel private lateinit var roomHistoryVisibilitySharedActionViewModel: RoomHistoryVisibilitySharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt index 4e42cce3ee..1c4f93f49a 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt @@ -25,6 +25,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -37,11 +38,14 @@ import im.vector.app.features.roomprofile.settings.joinrule.advanced.RoomJoinRul import org.matrix.android.sdk.api.session.room.model.RoomJoinRules import javax.inject.Inject -class RoomJoinRuleFragment @Inject constructor( - val controller: RoomJoinRuleAdvancedController, - val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), - OnBackPressed, RoomJoinRuleAdvancedController.InteractionListener { +@AndroidEntryPoint +class RoomJoinRuleFragment : + VectorBaseFragment(), + OnBackPressed, + RoomJoinRuleAdvancedController.InteractionListener { + + @Inject lateinit var controller: RoomJoinRuleAdvancedController + @Inject lateinit var avatarRenderer: AvatarRenderer private val viewModel: RoomJoinRuleChooseRestrictedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt index b65e90aeed..462f3be1c3 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.OnBackPressed @@ -36,13 +37,15 @@ import org.matrix.android.sdk.api.util.MatrixItem import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class RoomJoinRuleChooseRestrictedFragment @Inject constructor( - val controller: ChooseRestrictedController, - val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomJoinRuleChooseRestrictedFragment : + VectorBaseFragment(), ChooseRestrictedController.Listener, OnBackPressed { + @Inject lateinit var controller: ChooseRestrictedController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomJoinRuleChooseRestrictedViewModel by activityViewModel(RoomJoinRuleChooseRestrictedViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt index 3ecbcb5e00..d982ab3e32 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt @@ -27,6 +27,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.appbar.AppBarLayout import com.google.android.material.tabs.TabLayoutMediator +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.intent.getMimeTypeFromUri import im.vector.app.core.platform.VectorBaseFragment @@ -42,11 +43,13 @@ import kotlinx.coroutines.launch import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomUploadsFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val notificationUtils: NotificationUtils, - private val clock: Clock, -) : VectorBaseFragment() { +@AndroidEntryPoint +class RoomUploadsFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var notificationUtils: NotificationUtils + @Inject lateinit var clock: Clock private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt index 5bb81424cf..e7ee47020a 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt @@ -26,6 +26,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.Success import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,12 +39,14 @@ import im.vector.app.features.roomprofile.uploads.RoomUploadsViewModel import org.matrix.android.sdk.api.session.room.uploads.UploadEvent import javax.inject.Inject -class RoomUploadsFilesFragment @Inject constructor( - private val controller: UploadsFileController -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomUploadsFilesFragment : + VectorBaseFragment(), UploadsFileController.Listener, StateView.EventCallback { + @Inject lateinit var controller: UploadsFileController + private val uploadsViewModel by parentFragmentViewModel(RoomUploadsViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericStateViewRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt index c6dd3c63c1..f53f572e38 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.appbar.AppBarLayout +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.trackItemsVisibilityChange @@ -53,13 +54,15 @@ import org.matrix.android.sdk.api.session.room.model.message.getFileUrl import org.matrix.android.sdk.api.session.room.model.message.getThumbnailUrl import javax.inject.Inject -class RoomUploadsMediaFragment @Inject constructor( - private val controller: UploadsMediaController, - private val dimensionConverter: DimensionConverter -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomUploadsMediaFragment : + VectorBaseFragment(), UploadsMediaController.Listener, StateView.EventCallback { + @Inject lateinit var controller: UploadsMediaController + @Inject lateinit var dimensionConverter: DimensionConverter + private val uploadsViewModel by parentFragmentViewModel(RoomUploadsViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericStateViewRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt index e54bc4e624..9c08d446f4 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt @@ -19,15 +19,17 @@ package im.vector.app.features.settings import android.os.Bundle import androidx.preference.Preference import androidx.preference.SeekBarPreference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.preference.VectorPreferenceCategory import im.vector.app.core.preference.VectorSwitchPreference import im.vector.app.features.analytics.plan.MobileScreen import im.vector.app.features.rageshake.RageShake -import javax.inject.Inject -class VectorSettingsAdvancedSettingsFragment @Inject constructor() : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsAdvancedSettingsFragment : + VectorSettingsBaseFragment() { override var titleRes = R.string.settings_advanced_settings override val preferenceXmlRes = R.xml.vector_settings_advanced_settings diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt index 7906de3796..46f7a7c74e 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt @@ -34,6 +34,7 @@ import androidx.preference.SwitchPreference import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.cache.DiskCache import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.hideKeyboard @@ -74,13 +75,14 @@ import java.io.File import java.util.UUID import javax.inject.Inject -class VectorSettingsGeneralFragment @Inject constructor( - colorProvider: ColorProvider, - clock: Clock, -) : +@AndroidEntryPoint +class VectorSettingsGeneralFragment : VectorSettingsBaseFragment(), GalleryOrCameraDialogHelper.Listener { + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + override var titleRes = R.string.settings_general_title override val preferenceXmlRes = R.xml.vector_settings_general diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt index df7baa7397..8c7afaabc0 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt @@ -18,6 +18,7 @@ package im.vector.app.features.settings import android.os.Bundle import androidx.preference.Preference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.orEmpty import im.vector.app.core.preference.VectorPreference @@ -31,10 +32,12 @@ import im.vector.app.features.version.VersionProvider import org.matrix.android.sdk.api.Matrix import javax.inject.Inject -class VectorSettingsHelpAboutFragment @Inject constructor( - private val versionProvider: VersionProvider, - private val buildMeta: BuildMeta, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsHelpAboutFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var versionProvider: VersionProvider + @Inject lateinit var buildMeta: BuildMeta override var titleRes = R.string.preference_root_help_about override val preferenceXmlRes = R.xml.vector_settings_help_about diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt index 70908d7560..eb7864a89d 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt @@ -22,6 +22,7 @@ import android.widget.TextView import androidx.preference.Preference import androidx.preference.SwitchPreference import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.preference.VectorSwitchPreference import im.vector.app.features.MainActivity @@ -31,11 +32,13 @@ import im.vector.app.features.home.room.threads.ThreadsManager import org.matrix.android.sdk.api.settings.LightweightSettingsStorage import javax.inject.Inject -class VectorSettingsLabsFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val lightweightSettingsStorage: LightweightSettingsStorage, - private val threadsManager: ThreadsManager -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsLabsFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var lightweightSettingsStorage: LightweightSettingsStorage + @Inject lateinit var threadsManager: ThreadsManager override var titleRes = R.string.room_settings_labs_pref_title override val preferenceXmlRes = R.xml.vector_settings_labs diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt index db402758f1..f3f013f2c7 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt @@ -19,6 +19,7 @@ package im.vector.app.features.settings import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import androidx.preference.SwitchPreference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.preference.VectorPreference @@ -36,13 +37,15 @@ import org.matrix.android.sdk.api.extensions.orFalse import timber.log.Timber import javax.inject.Inject -class VectorSettingsPinFragment @Inject constructor( - private val pinCodeStore: PinCodeStore, - private val navigator: Navigator, - private val notificationDrawerManager: NotificationDrawerManager, - biometricHelperFactory: BiometricHelper.BiometricHelperFactory, - defaultLockScreenConfiguration: LockScreenConfiguration, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsPinFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var pinCodeStore: PinCodeStore + @Inject lateinit var navigator: Navigator + @Inject lateinit var notificationDrawerManager: NotificationDrawerManager + @Inject lateinit var biometricHelperFactory: BiometricHelper.BiometricHelperFactory + @Inject lateinit var defaultLockScreenConfiguration: LockScreenConfiguration override var titleRes = R.string.settings_security_application_protection_screen_title override val preferenceXmlRes = R.xml.vector_settings_pin diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt index ac7d29ab7a..0bd5316b8f 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt @@ -22,6 +22,7 @@ import android.os.Bundle import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.PhotoOrVideoDialog import im.vector.app.core.extensions.restart @@ -37,10 +38,12 @@ import kotlinx.coroutines.launch import org.matrix.android.sdk.api.session.presence.model.PresenceEnum import javax.inject.Inject -class VectorSettingsPreferencesFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val fontScalePreferences: FontScalePreferences, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsPreferencesFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var fontScalePreferences: FontScalePreferences override var titleRes = R.string.settings_preferences override val preferenceXmlRes = R.xml.vector_settings_preferences diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt index 51011e29a2..0b3dcfa2ac 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt @@ -17,12 +17,14 @@ package im.vector.app.features.settings import android.os.Bundle +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.preference.VectorPreference import im.vector.app.features.analytics.plan.MobileScreen -import javax.inject.Inject -class VectorSettingsRootFragment @Inject constructor() : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsRootFragment : + VectorSettingsBaseFragment() { override var titleRes: Int = R.string.title_activity_settings override val preferenceXmlRes = R.xml.vector_settings_root diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt index b6fbddd3ce..2b4d376f55 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt @@ -34,6 +34,7 @@ import androidx.preference.SwitchPreference import androidx.recyclerview.widget.RecyclerView import com.airbnb.mvrx.fragmentViewModel import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.dialogs.ExportKeysDialog @@ -79,16 +80,18 @@ import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo import org.matrix.android.sdk.api.session.crypto.model.DevicesListResponse import javax.inject.Inject -class VectorSettingsSecurityPrivacyFragment @Inject constructor( - private val activeSessionHolder: ActiveSessionHolder, - private val pinCodeStore: PinCodeStore, - private val keysExporter: KeysExporter, - private val keysImporter: KeysImporter, - private val rawService: RawService, - private val navigator: Navigator, - private val analyticsConfig: AnalyticsConfig, - private val vectorFeatures: VectorFeatures, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsSecurityPrivacyFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var pinCodeStore: PinCodeStore + @Inject lateinit var keysExporter: KeysExporter + @Inject lateinit var keysImporter: KeysImporter + @Inject lateinit var rawService: RawService + @Inject lateinit var navigator: Navigator + @Inject lateinit var analyticsConfig: AnalyticsConfig + @Inject lateinit var vectorFeatures: VectorFeatures override var titleRes = R.string.settings_security_and_privacy override val preferenceXmlRes = R.xml.vector_settings_security_privacy diff --git a/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt b/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt index 7ccae3665d..c9a43c5e31 100644 --- a/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt @@ -24,6 +24,7 @@ import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.VectorBaseFragment @@ -35,9 +36,10 @@ import im.vector.app.features.auth.ReAuthActivity import im.vector.app.features.settings.VectorSettingsActivity import org.matrix.android.sdk.api.auth.data.LoginFlowTypes import org.matrix.android.sdk.api.session.uia.exceptions.UiaCancelledException -import javax.inject.Inject -class DeactivateAccountFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class DeactivateAccountFragment : + VectorBaseFragment() { private val viewModel: DeactivateAccountViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt index 8fcda3219e..c0cefc9bcf 100644 --- a/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,11 +40,13 @@ import javax.inject.Inject /** * This Fragment is only used when user activates developer mode from the settings. */ -class CrossSigningSettingsFragment @Inject constructor( - private val controller: CrossSigningSettingsController, -) : VectorBaseFragment(), +@AndroidEntryPoint +class CrossSigningSettingsFragment : + VectorBaseFragment(), CrossSigningSettingsController.InteractionListener { + @Inject lateinit var controller: CrossSigningSettingsController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt index a132dc1f49..2d82e48aac 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.ManuallyVerifyDialog import im.vector.app.core.extensions.cleanup @@ -46,11 +47,13 @@ import javax.inject.Inject /** * Display the list of the user's device. */ -class VectorSettingsDevicesFragment @Inject constructor( - private val devicesController: DevicesController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VectorSettingsDevicesFragment : + VectorBaseFragment(), DevicesController.Callback { + @Inject lateinit var devicesController: DevicesController + // used to avoid requesting to enter the password for each deletion // Note: Sonar does not like to use password for member name. // private var mAccountPass: String = "" diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt index 4e02ef9577..a5281d1b5c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt @@ -32,7 +32,8 @@ import im.vector.app.databinding.FragmentSettingsDevicesBinding * Display the list of the user's devices and sessions. */ @AndroidEntryPoint -class VectorSettingsDevicesFragment : VectorBaseFragment() { +class VectorSettingsDevicesFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsDevicesBinding { return FragmentSettingsDevicesBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt index 740ef3996a..2f8dd84ddd 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt @@ -24,6 +24,7 @@ import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -36,12 +37,14 @@ import org.matrix.android.sdk.api.session.accountdata.UserAccountDataEvent import org.matrix.android.sdk.api.util.MatrixJsonParser import javax.inject.Inject -class AccountDataFragment @Inject constructor( - private val epoxyController: AccountDataEpoxyController, - private val colorProvider: ColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class AccountDataFragment : + VectorBaseFragment(), AccountDataEpoxyController.InteractionListener { + @Inject lateinit var epoxyController: AccountDataEpoxyController + @Inject lateinit var colorProvider: ColorProvider + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt index ec4ef26001..9dfcd1b15c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt @@ -22,21 +22,22 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.databinding.FragmentGenericRecyclerBinding import org.matrix.android.sdk.api.session.crypto.model.AuditTrail import javax.inject.Inject -class GossipingEventsPaperTrailFragment @Inject constructor( - private val epoxyController: GossipingTrailPagedEpoxyController, - private val colorProvider: ColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class GossipingEventsPaperTrailFragment : + VectorBaseFragment(), GossipingTrailPagedEpoxyController.InteractionListener { + @Inject lateinit var epoxyController: GossipingTrailPagedEpoxyController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt index ac4bef9c94..b276acb1d6 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,11 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class IncomingKeyRequestListFragment @Inject constructor( - private val epoxyController: IncomingKeyRequestPagedController -) : VectorBaseFragment() { +@AndroidEntryPoint +class IncomingKeyRequestListFragment : + VectorBaseFragment() { + + @Inject lateinit var epoxyController: IncomingKeyRequestPagedController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt index 5684e941f1..f7e4a12793 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.tabs.TabLayoutMediator +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.safeOpenOutputStream @@ -41,11 +42,13 @@ import im.vector.app.databinding.FragmentDevtoolKeyrequestsBinding import org.matrix.android.sdk.api.extensions.tryOrNull import javax.inject.Inject -class KeyRequestsFragment @Inject constructor( - private val clock: Clock, -) : VectorBaseFragment(), +@AndroidEntryPoint +class KeyRequestsFragment : + VectorBaseFragment(), VectorMenuProvider { + @Inject lateinit var clock: Clock + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentDevtoolKeyrequestsBinding { return FragmentDevtoolKeyrequestsBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt index ca1f36dbb2..1963045de3 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,11 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class OutgoingKeyRequestListFragment @Inject constructor( - private val epoxyController: OutgoingKeyRequestPagedController -) : VectorBaseFragment() { +@AndroidEntryPoint +class OutgoingKeyRequestListFragment : + VectorBaseFragment() { + + @Inject lateinit var epoxyController: OutgoingKeyRequestPagedController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt b/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt index 78c06d5969..005797b5c1 100644 --- a/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.restart import im.vector.app.core.platform.VectorBaseFragment @@ -29,9 +30,12 @@ import im.vector.app.databinding.FragmentSettingsFontScalingBinding import im.vector.app.features.settings.FontScaleValue import javax.inject.Inject -class FontScaleSettingFragment @Inject constructor( - private val fontListController: FontScaleSettingController -) : VectorBaseFragment(), FontScaleSettingController.Callback { +@AndroidEntryPoint +class FontScaleSettingFragment : + VectorBaseFragment(), + FontScaleSettingController.Callback { + + @Inject lateinit var fontListController: FontScaleSettingController private val viewModel: FontScaleSettingViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt index 09fd848c99..eb342209bf 100644 --- a/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -33,11 +34,13 @@ import javax.inject.Inject /** * Display some information about the homeserver. */ -class HomeserverSettingsFragment @Inject constructor( - private val homeserverSettingsController: HomeserverSettingsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class HomeserverSettingsFragment : + VectorBaseFragment(), HomeserverSettingsController.Callback { + @Inject lateinit var homeserverSettingsController: HomeserverSettingsController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt b/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt index 6ab3d365eb..4cf8982085 100644 --- a/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -33,11 +34,13 @@ import im.vector.app.databinding.FragmentGenericRecyclerBinding import im.vector.app.features.analytics.plan.MobileScreen import javax.inject.Inject -class VectorSettingsIgnoredUsersFragment @Inject constructor( - private val ignoredUsersController: IgnoredUsersController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VectorSettingsIgnoredUsersFragment : + VectorBaseFragment(), IgnoredUsersController.Callback { + @Inject lateinit var ignoredUsersController: IgnoredUsersController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt index aef1c69baa..6ed3cd9156 100644 --- a/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -35,12 +36,14 @@ import im.vector.app.features.discovery.ServerPolicy import im.vector.app.features.settings.VectorSettingsUrls import javax.inject.Inject -class LegalsFragment @Inject constructor( - private val controller: LegalsController, - private val flavorLegals: FlavorLegals, -) : VectorBaseFragment(), +@AndroidEntryPoint +class LegalsFragment : + VectorBaseFragment(), LegalsController.Listener { + @Inject lateinit var controller: LegalsController + @Inject lateinit var flavorLegals: FlavorLegals + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt b/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt index d46b66dd87..39d41f9cfc 100644 --- a/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -32,11 +33,13 @@ import im.vector.app.databinding.FragmentLocalePickerBinding import java.util.Locale import javax.inject.Inject -class LocalePickerFragment @Inject constructor( - private val controller: LocalePickerController -) : VectorBaseFragment(), +@AndroidEntryPoint +class LocalePickerFragment : + VectorBaseFragment(), LocalePickerController.Listener { + @Inject lateinit var controller: LocalePickerController + private val viewModel: LocalePickerViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLocalePickerBinding { diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt index 8eccc8c593..183d997ffb 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt @@ -17,6 +17,7 @@ package im.vector.app.features.settings.notifications import androidx.lifecycle.lifecycleScope import androidx.preference.Preference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.preference.PushRulePreference import im.vector.app.core.preference.VectorPreference @@ -25,9 +26,9 @@ import im.vector.app.features.settings.VectorSettingsBaseFragment import kotlinx.coroutines.launch import org.matrix.android.sdk.api.session.pushrules.RuleIds import org.matrix.android.sdk.api.session.pushrules.rest.PushRuleAndKind -import javax.inject.Inject -class VectorSettingsAdvancedNotificationPreferenceFragment @Inject constructor() : +@AndroidEntryPoint +class VectorSettingsAdvancedNotificationPreferenceFragment : VectorSettingsBaseFragment() { override var titleRes: Int = R.string.settings_notification_advanced diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt index 62f5823b65..a09bb1e6a4 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt @@ -30,6 +30,7 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.map import androidx.preference.Preference import androidx.preference.SwitchPreference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.extensions.registerStartForActivityResult @@ -62,16 +63,18 @@ import org.matrix.android.sdk.api.session.pushrules.RuleKind import javax.inject.Inject // Referenced in vector_settings_preferences_root.xml -class VectorSettingsNotificationPreferenceFragment @Inject constructor( - private val unifiedPushHelper: UnifiedPushHelper, - private val pushersManager: PushersManager, - private val activeSessionHolder: ActiveSessionHolder, - private val vectorPreferences: VectorPreferences, - private val guardServiceStarter: GuardServiceStarter, - private val vectorFeatures: VectorFeatures, -) : VectorSettingsBaseFragment(), +@AndroidEntryPoint +class VectorSettingsNotificationPreferenceFragment : + VectorSettingsBaseFragment(), BackgroundSyncModeChooserDialog.InteractionListener { + @Inject lateinit var unifiedPushHelper: UnifiedPushHelper + @Inject lateinit var pushersManager: PushersManager + @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var guardServiceStarter: GuardServiceStarter + @Inject lateinit var vectorFeatures: VectorFeatures + override var titleRes: Int = R.string.settings_notifications override val preferenceXmlRes = R.xml.vector_settings_notifications diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt index e75824195e..137f1c8722 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt @@ -29,6 +29,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import androidx.transition.TransitionManager +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.registerStartForActivityResult @@ -44,11 +45,13 @@ import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.extensions.tryOrNull import javax.inject.Inject -class VectorSettingsNotificationsTroubleshootFragment @Inject constructor( - private val bugReporter: BugReporter, - private val testManagerFactory: NotificationTroubleshootTestManagerFactory, - private val actionIds: NotificationActionIds, -) : VectorBaseFragment() { +@AndroidEntryPoint +class VectorSettingsNotificationsTroubleshootFragment : + VectorBaseFragment() { + + @Inject lateinit var bugReporter: BugReporter + @Inject lateinit var testManagerFactory: NotificationTroubleshootTestManagerFactory + @Inject lateinit var actionIds: NotificationActionIds private var testManager: NotificationTroubleshootTestManager? = null // members diff --git a/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt b/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt index da06f067c6..2bbb93e63c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt @@ -25,6 +25,7 @@ import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -35,11 +36,13 @@ import org.matrix.android.sdk.api.session.pushers.Pusher import javax.inject.Inject // Referenced in vector_settings_notifications.xml -class PushGatewaysFragment @Inject constructor( - private val epoxyController: PushGateWayController -) : VectorBaseFragment(), +@AndroidEntryPoint +class PushGatewaysFragment : + VectorBaseFragment(), VectorMenuProvider { + @Inject lateinit var epoxyController: PushGateWayController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt index 666f27272b..6e4c049202 100644 --- a/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -30,9 +31,11 @@ import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject // Referenced in vector_settings_notifications.xml -class PushRulesFragment @Inject constructor( - private val epoxyController: PushRulesController -) : VectorBaseFragment() { +@AndroidEntryPoint +class PushRulesFragment : + VectorBaseFragment() { + + @Inject lateinit var epoxyController: PushRulesController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt index 0d6e639168..ae3cbcc9ca 100644 --- a/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt @@ -25,6 +25,7 @@ import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -41,13 +42,14 @@ import org.matrix.android.sdk.api.auth.data.LoginFlowTypes import org.matrix.android.sdk.api.session.identity.ThreePid import javax.inject.Inject -class ThreePidsSettingsFragment @Inject constructor( - private val epoxyController: ThreePidsSettingsController -) : +@AndroidEntryPoint +class ThreePidsSettingsFragment : VectorBaseFragment(), OnBackPressed, ThreePidsSettingsController.InteractionListener { + @Inject lateinit var epoxyController: ThreePidsSettingsController + private val viewModel: ThreePidsSettingsViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt b/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt index 3e2ddc469c..a80d058197 100644 --- a/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt +++ b/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt @@ -29,6 +29,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -46,13 +47,14 @@ import javax.inject.Inject * Display the list of rooms. * The user can select multiple rooms to send the data to. */ -class IncomingShareFragment @Inject constructor( - private val incomingShareController: IncomingShareController, - private val shareIntentHandler: ShareIntentHandler, -) : +@AndroidEntryPoint +class IncomingShareFragment : VectorBaseFragment(), IncomingShareController.Callback { + @Inject lateinit var incomingShareController: IncomingShareController + @Inject lateinit var shareIntentHandler: ShareIntentHandler + private val viewModel: IncomingShareViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentIncomingShareBinding { diff --git a/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt b/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt index 483e3a140f..47670b486a 100644 --- a/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt +++ b/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,11 +40,13 @@ import javax.inject.Inject * - the user is asked to enter a password to sign in again to a homeserver. * - or to cleanup all the data */ -class SoftLogoutFragment @Inject constructor( - private val softLogoutController: SoftLogoutController -) : AbstractLoginFragment(), +@AndroidEntryPoint +class SoftLogoutFragment : + AbstractLoginFragment(), SoftLogoutController.Listener { + @Inject lateinit var softLogoutController: SoftLogoutController + private val softLogoutViewModel: SoftLogoutViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt index 7b034356b4..9d67e3d713 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt @@ -27,6 +27,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.StateView @@ -47,11 +48,15 @@ import javax.inject.Inject * In the New App Layout this fragment will instead be displayed in a Bottom Sheet [SpaceListBottomSheet] * and will only display spaces that are direct children of the currently selected space (or root spaces if none) */ -class SpaceListFragment @Inject constructor( - private val spaceController: SpaceSummaryController, - private val newSpaceController: NewSpaceSummaryController, - private val vectorFeatures: VectorFeatures, -) : VectorBaseFragment(), SpaceSummaryController.Callback, NewSpaceSummaryController.Callback { +@AndroidEntryPoint +class SpaceListFragment : + VectorBaseFragment(), + SpaceSummaryController.Callback, + NewSpaceSummaryController.Callback { + + @Inject lateinit var spaceController: SpaceSummaryController + @Inject lateinit var newSpaceController: NewSpaceSummaryController + @Inject lateinit var vectorFeatures: VectorFeatures private lateinit var homeActivitySharedActionViewModel: HomeSharedActionViewModel private lateinit var roomListSharedActionViewModel: RoomListSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt index 6d3003dfcf..02ffb7ff6a 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.onClick import im.vector.app.core.platform.OnBackPressed @@ -29,9 +30,12 @@ import im.vector.app.core.resources.StringProvider import im.vector.app.databinding.FragmentSpaceCreateChoosePrivateModelBinding import javax.inject.Inject -class ChoosePrivateSpaceTypeFragment @Inject constructor( - private val stringProvider: StringProvider -) : VectorBaseFragment(), OnBackPressed { +@AndroidEntryPoint +class ChoosePrivateSpaceTypeFragment : + VectorBaseFragment(), + OnBackPressed { + + @Inject lateinit var stringProvider: StringProvider private val sharedViewModel: CreateSpaceViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt index b4c5e63687..4c44bfc7a8 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt @@ -21,12 +21,14 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.epoxy.onClick import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSpaceCreateChooseTypeBinding -import javax.inject.Inject -class ChooseSpaceTypeFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class ChooseSpaceTypeFragment : + VectorBaseFragment() { private val sharedViewModel: CreateSpaceViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt index 6260047d16..a46991caa3 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -31,12 +32,14 @@ import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import im.vector.app.features.settings.VectorSettingsActivity import javax.inject.Inject -class CreateSpaceAdd3pidInvitesFragment @Inject constructor( - private val epoxyController: SpaceAdd3pidEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class CreateSpaceAdd3pidInvitesFragment : + VectorBaseFragment(), SpaceAdd3pidEpoxyController.Listener, OnBackPressed { + @Inject lateinit var epoxyController: SpaceAdd3pidEpoxyController + private val sharedViewModel: CreateSpaceViewModel by activityViewModel() override fun onBackPressed(toolbarButton: Boolean): Boolean { diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt index 4ed7e91417..68e9522282 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard @@ -29,12 +30,14 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import javax.inject.Inject -class CreateSpaceDefaultRoomsFragment @Inject constructor( - private val epoxyController: SpaceDefaultRoomEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class CreateSpaceDefaultRoomsFragment : + VectorBaseFragment(), SpaceDefaultRoomEpoxyController.Listener, OnBackPressed { + @Inject lateinit var epoxyController: SpaceDefaultRoomEpoxyController + private val sharedViewModel: CreateSpaceViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt index 847ee5f865..dac05ab72b 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard @@ -32,12 +33,16 @@ import im.vector.app.core.time.Clock import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import javax.inject.Inject -class CreateSpaceDetailsFragment @Inject constructor( - private val epoxyController: SpaceDetailEpoxyController, - colorProvider: ColorProvider, - clock: Clock, -) : VectorBaseFragment(), SpaceDetailEpoxyController.Listener, - GalleryOrCameraDialogHelper.Listener, OnBackPressed { +@AndroidEntryPoint +class CreateSpaceDetailsFragment : + VectorBaseFragment(), + SpaceDetailEpoxyController.Listener, + GalleryOrCameraDialogHelper.Listener, + OnBackPressed { + + @Inject lateinit var epoxyController: SpaceDetailEpoxyController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock private val sharedViewModel: CreateSpaceViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt index 3818f4278a..b6c49e5d41 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.epoxy.EpoxyVisibilityTracker import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -61,16 +62,18 @@ data class SpaceDirectoryArgs( val spaceId: String ) : Parcelable -class SpaceDirectoryFragment @Inject constructor( - private val epoxyController: SpaceDirectoryController, - private val permalinkHandler: PermalinkHandler, - private val colorProvider: ColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceDirectoryFragment : + VectorBaseFragment(), SpaceDirectoryController.InteractionListener, TimelineEventController.UrlClickCallback, OnBackPressed, VectorMenuProvider { + @Inject lateinit var epoxyController: SpaceDirectoryController + @Inject lateinit var permalinkHandler: PermalinkHandler + @Inject lateinit var colorProvider: ColorProvider + override fun getMenuRes() = R.menu.menu_space_directory override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = diff --git a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt index de1273b8d5..ea06a12f08 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt @@ -28,6 +28,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.Success import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,12 +39,14 @@ import im.vector.app.databinding.FragmentSpaceLeaveAdvancedBinding import org.matrix.android.sdk.api.session.room.model.RoomSummary import javax.inject.Inject -class SpaceLeaveAdvancedFragment @Inject constructor( - val controller: SelectChildrenController -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceLeaveAdvancedFragment : + VectorBaseFragment(), SelectChildrenController.Listener, VectorMenuProvider { + @Inject lateinit var controller: SelectChildrenController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentSpaceLeaveAdvancedBinding.inflate(layoutInflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt index 848c17deb6..d0115d561a 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.platform.OnBackPressed @@ -47,15 +48,17 @@ import org.matrix.android.sdk.api.session.room.model.RoomSummary import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class SpaceAddRoomFragment @Inject constructor( - private val spaceEpoxyController: AddRoomListController, - private val roomEpoxyController: AddRoomListController, - private val dmEpoxyController: AddRoomListController, -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceAddRoomFragment : + VectorBaseFragment(), OnBackPressed, AddRoomListController.Listener, VectorMenuProvider { + @Inject lateinit var spaceEpoxyController: AddRoomListController + @Inject lateinit var roomEpoxyController: AddRoomListController + @Inject lateinit var dmEpoxyController: AddRoomListController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentSpaceAddRoomsBinding.inflate(layoutInflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt index d0e78bff5b..4580119070 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -46,13 +47,15 @@ import org.matrix.android.sdk.api.session.room.model.SpaceChildInfo import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class SpaceManageRoomsFragment @Inject constructor( - private val epoxyController: SpaceManageRoomsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceManageRoomsFragment : + VectorBaseFragment(), OnBackPressed, SpaceManageRoomsController.Listener, Callback { + @Inject lateinit var epoxyController: SpaceManageRoomsController + private val viewModel by fragmentViewModel(SpaceManageRoomsViewModel::class) private val sharedViewModel: SpaceManageSharedViewModel by activityViewModel() private val epoxyVisibilityTracker = EpoxyVisibilityTracker() diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt index eb1de4fe60..2ad86bfe0c 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.cleanup @@ -59,17 +60,19 @@ import org.matrix.android.sdk.api.util.toMatrixItem import java.util.UUID import javax.inject.Inject -class SpaceSettingsFragment @Inject constructor( - private val epoxyController: SpaceSettingsController, - colorProvider: ColorProvider, - clock: Clock, - private val avatarRenderer: AvatarRenderer, -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceSettingsFragment : + VectorBaseFragment(), SpaceSettingsController.Callback, GalleryOrCameraDialogHelper.Listener, OnBackPressed, VectorMenuProvider { + @Inject lateinit var epoxyController: SpaceSettingsController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomSettingsViewModel by fragmentViewModel() private val sharedViewModel: SpaceManageSharedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt index 1181ccfa52..239b0ccb53 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,10 +44,13 @@ import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class SpacePeopleFragment @Inject constructor( - private val epoxyController: SpacePeopleListController -) : VectorBaseFragment(), - OnBackPressed, SpacePeopleListController.InteractionListener { +@AndroidEntryPoint +class SpacePeopleFragment : + VectorBaseFragment(), + OnBackPressed, + SpacePeopleListController.InteractionListener { + + @Inject lateinit var epoxyController: SpacePeopleListController private val viewModel by fragmentViewModel(SpacePeopleViewModel::class) private val membersViewModel by fragmentViewModel(RoomMemberListViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt index 5722a0ff2c..df15d3001c 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -50,10 +51,12 @@ data class SpacePreviewArgs( val idOrAlias: String ) : Parcelable -class SpacePreviewFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val epoxyController: SpacePreviewController -) : VectorBaseFragment() { +@AndroidEntryPoint +class SpacePreviewFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var epoxyController: SpacePreviewController private val viewModel by fragmentViewModel(SpacePreviewViewModel::class) lateinit var sharedActionViewModel: SpacePreviewSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt b/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt index f7012b93c4..2e8e2c3c14 100644 --- a/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt @@ -25,6 +25,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.Success import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.onClick import im.vector.app.core.extensions.cleanup @@ -35,11 +36,13 @@ import im.vector.app.databinding.FragmentReviewTermsBinding import org.matrix.android.sdk.api.session.terms.TermsService import javax.inject.Inject -class ReviewTermsFragment @Inject constructor( - private val termsController: TermsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class ReviewTermsFragment : + VectorBaseFragment(), TermsController.Listener { + @Inject lateinit var termsController: TermsController + private val reviewTermsViewModel: ReviewTermsViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentReviewTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt b/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt index 259a220874..4232b94ead 100644 --- a/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.PERMISSIONS_FOR_TAKING_PHOTO @@ -32,9 +33,11 @@ import im.vector.app.databinding.FragmentUserCodeShowBinding import im.vector.app.features.home.AvatarRenderer import javax.inject.Inject -class ShowUserCodeFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class ShowUserCodeFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentUserCodeShowBinding { return FragmentUserCodeShowBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt b/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt index 3fe95cfb7c..fbb6a8ee14 100644 --- a/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.chip.Chip +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -51,13 +52,15 @@ import org.matrix.android.sdk.api.session.user.model.User import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class UserListFragment @Inject constructor( - private val userListController: UserListController, - private val dimensionConverter: DimensionConverter, -) : VectorBaseFragment(), +@AndroidEntryPoint +class UserListFragment : + VectorBaseFragment(), UserListController.Callback, VectorMenuProvider { + @Inject lateinit var userListController: UserListController + @Inject lateinit var dimensionConverter: DimensionConverter + private val args: UserListFragmentArgs by args() private val viewModel: UserListViewModel by activityViewModel() private val homeServerCapabilitiesViewModel: HomeServerCapabilitiesViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt index ed1bace70c..4d94493d17 100644 --- a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt +++ b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt @@ -38,6 +38,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.args import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.OnBackPressed @@ -66,16 +67,17 @@ data class WidgetArgs( val urlParams: Map = emptyMap() ) : Parcelable -class WidgetFragment @Inject constructor( - private val permissionUtils: WebviewPermissionUtils, - private val checkWebViewPermissionsUseCase: CheckWebViewPermissionsUseCase, - private val vectorPreferences: VectorPreferences, -) : +@AndroidEntryPoint +class WidgetFragment : VectorBaseFragment(), WebEventListener, OnBackPressed, VectorMenuProvider { + @Inject lateinit var permissionUtils: WebviewPermissionUtils + @Inject lateinit var checkWebViewPermissionsUseCase: CheckWebViewPermissionsUseCase + @Inject lateinit var vectorPreferences: VectorPreferences + private val fragmentArgs: WidgetArgs by args() private val viewModel: WidgetViewModel by activityViewModel() From 8555758911a9d1823f1c76ba86c1507727c04b2f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 19 Aug 2022 17:33:25 +0200 Subject: [PATCH 59/63] Remove the FragmentFactory reference --- .../java/im/vector/app/core/di/ActivityEntryPoint.kt | 2 -- .../im/vector/app/core/platform/VectorBaseActivity.kt | 9 --------- .../im/vector/app/core/platform/VectorBaseFragment.kt | 1 - .../vector/app/features/devtools/RoomDevToolActivity.kt | 6 +++--- .../vector/app/features/spaces/SpaceCreationActivity.kt | 2 +- 5 files changed, 4 insertions(+), 16 deletions(-) diff --git a/vector/src/main/java/im/vector/app/core/di/ActivityEntryPoint.kt b/vector/src/main/java/im/vector/app/core/di/ActivityEntryPoint.kt index c5f7317ebe..4b8b23489b 100644 --- a/vector/src/main/java/im/vector/app/core/di/ActivityEntryPoint.kt +++ b/vector/src/main/java/im/vector/app/core/di/ActivityEntryPoint.kt @@ -16,7 +16,6 @@ package im.vector.app.core.di -import androidx.fragment.app.FragmentFactory import androidx.lifecycle.ViewModelProvider import dagger.hilt.EntryPoint import dagger.hilt.InstallIn @@ -25,6 +24,5 @@ import dagger.hilt.android.components.ActivityComponent @InstallIn(ActivityComponent::class) @EntryPoint interface ActivityEntryPoint { - fun fragmentFactory(): FragmentFactory fun viewModelFactory(): ViewModelProvider.Factory } diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt index 24a65e1071..4086554d04 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt @@ -169,7 +169,6 @@ abstract class VectorBaseActivity : AppCompatActivity(), Maver lateinit var navigator: Navigator private set - private lateinit var fragmentFactory: FragmentFactory private lateinit var activeSessionHolder: ActiveSessionHolder private lateinit var vectorPreferences: VectorPreferences @@ -210,8 +209,6 @@ abstract class VectorBaseActivity : AppCompatActivity(), Maver val singletonEntryPoint = singletonEntryPoint() val activityEntryPoint = EntryPointAccessors.fromActivity(this, ActivityEntryPoint::class.java) ThemeUtils.setActivityTheme(this, getOtherThemes()) - fragmentFactory = activityEntryPoint.fragmentFactory() - supportFragmentManager.fragmentFactory = fragmentFactory viewModelFactory = activityEntryPoint.viewModelFactory() super.onCreate(savedInstanceState) addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener) @@ -464,12 +461,6 @@ abstract class VectorBaseActivity : AppCompatActivity(), Maver bugReporter.inMultiWindowMode = it.isInMultiWindowMode } - protected fun createFragment(fragmentClass: Class, argsParcelable: Parcelable? = null): Fragment { - return fragmentFactory.instantiate(classLoader, fragmentClass.name).apply { - arguments = argsParcelable?.toMvRxBundle() - } - } - /* ========================================================================================== * PRIVATE METHODS * ========================================================================================== */ diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt index 340c906a6d..8fe2d33f6a 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt @@ -123,7 +123,6 @@ abstract class VectorBaseFragment : Fragment(), MavericksView analyticsTracker = singletonEntryPoint.analyticsTracker() unrecognizedCertificateDialog = singletonEntryPoint.unrecognizedCertificateDialog() viewModelFactory = activityEntryPoint.viewModelFactory() - childFragmentManager.fragmentFactory = activityEntryPoint.fragmentFactory() super.onAttach(context) } diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt index 774460eb1f..011deb612f 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt @@ -109,15 +109,15 @@ class RoomDevToolActivity : } RoomDevToolViewState.Mode.StateEventList, RoomDevToolViewState.Mode.StateEventListByType -> { - val frag = createFragment(RoomDevToolStateEventListFragment::class.java) + val frag = RoomDevToolStateEventListFragment() navigateTo(frag) } RoomDevToolViewState.Mode.EditEventContent -> { - val frag = createFragment(RoomDevToolEditFragment::class.java) + val frag = RoomDevToolEditFragment() navigateTo(frag) } is RoomDevToolViewState.Mode.SendEventForm -> { - val frag = createFragment(RoomDevToolSendFormFragment::class.java) + val frag = RoomDevToolSendFormFragment() navigateTo(frag) } } diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceCreationActivity.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceCreationActivity.kt index 9fa4a53efc..04412185f6 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceCreationActivity.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceCreationActivity.kt @@ -120,7 +120,7 @@ class SpaceCreationActivity : SimpleFragmentActivity() { } private fun navigateToFragment(fragmentClass: Class) { - val frag = supportFragmentManager.findFragmentByTag(fragmentClass.name) ?: createFragment(fragmentClass) + val frag = supportFragmentManager.findFragmentByTag(fragmentClass.name) ?: fragmentClass.newInstance() supportFragmentManager.beginTransaction() .setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out) .replace( From 80b3c45928ee56fe504899b0da1c9b6b17a5bcf5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Sat, 20 Aug 2022 11:54:39 +0200 Subject: [PATCH 60/63] Create a GalleryOrCameraDialogHelperFactory --- .../GalleryOrCameraDialogHelperFactory.kt | 34 +++++++++++++++++++ .../home/room/detail/TimelineFragment.kt | 5 ++- .../FtueAuthChooseProfilePictureFragment.kt | 14 +++++--- .../createroom/CreateRoomFragment.kt | 13 ++++--- .../settings/RoomSettingsFragment.kt | 9 +++-- .../settings/VectorSettingsGeneralFragment.kt | 9 +++-- .../create/CreateSpaceDetailsFragment.kt | 13 ++++--- .../spaces/manage/SpaceSettingsFragment.kt | 13 ++++--- 8 files changed, 79 insertions(+), 31 deletions(-) create mode 100644 vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelperFactory.kt diff --git a/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelperFactory.kt b/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelperFactory.kt new file mode 100644 index 0000000000..0e8dc1d0d1 --- /dev/null +++ b/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelperFactory.kt @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2022 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.app.core.dialogs + +import androidx.fragment.app.Fragment +import im.vector.app.core.resources.ColorProvider +import im.vector.app.core.time.Clock +import javax.inject.Inject + +/** + * Factory for [GalleryOrCameraDialogHelper]. + */ +class GalleryOrCameraDialogHelperFactory @Inject constructor( + private val colorProvider: ColorProvider, + private val clock: Clock, +) { + fun create(fragment: Fragment): GalleryOrCameraDialogHelper { + return GalleryOrCameraDialogHelper(fragment, colorProvider, clock) + } +} diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt index 2e23fbf257..b5eb0608d4 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt @@ -72,6 +72,7 @@ import im.vector.app.R import im.vector.app.core.animations.play import im.vector.app.core.dialogs.ConfirmationDialogBuilder import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.error.fatalError import im.vector.app.core.extensions.cleanup @@ -290,6 +291,7 @@ class TimelineFragment : @Inject lateinit var clock: Clock @Inject lateinit var vectorFeatures: VectorFeatures @Inject lateinit var buildMeta: BuildMeta + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory companion object { @@ -311,7 +313,7 @@ class TimelineFragment : private const val ircPattern = " (IRC)" } - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper private val timelineArgs: TimelineArgs by args() private val glideRequests by lazy { @@ -364,6 +366,7 @@ class TimelineFragment : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) analyticsScreenName = MobileScreen.ScreenName.Room + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) setFragmentResultListener(MigrateRoomBottomSheet.REQUEST_KEY) { _, bundle -> bundle.getString(MigrateRoomBottomSheet.BUNDLE_KEY_REPLACEMENT_ROOM)?.let { replacementRoomId -> timelineViewModel.handle(RoomDetailAction.RoomUpgradeSuccess(replacementRoomId)) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt index 55ee7e7576..65497eda10 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt @@ -28,9 +28,8 @@ import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.extensions.singletonEntryPoint -import im.vector.app.core.resources.ColorProvider -import im.vector.app.core.time.Clock import im.vector.app.databinding.FragmentFtueProfilePictureBinding import im.vector.app.features.home.AvatarRenderer import im.vector.app.features.onboarding.OnboardingAction @@ -45,16 +44,21 @@ class FtueAuthChooseProfilePictureFragment : GalleryOrCameraDialogHelper.Listener { @Inject lateinit var activeSessionHolder: ActiveSessionHolder - @Inject lateinit var colorProvider: ColorProvider - @Inject lateinit var clock: Clock + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory + + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) private val avatarRenderer: AvatarRenderer by lazy { requireContext().singletonEntryPoint().avatarRenderer() } override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueProfilePictureBinding { return FragmentFtueProfilePictureBinding.inflate(inflater, container, false) } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) setupViews() diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt index 34fffeb118..f4c3e515c5 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt @@ -33,12 +33,11 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.OnBackPressed import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider -import im.vector.app.core.time.Clock import im.vector.app.databinding.FragmentCreateRoomBinding import im.vector.app.features.analytics.plan.ViewRoom import im.vector.app.features.navigation.Navigator @@ -71,8 +70,7 @@ class CreateRoomFragment : @Inject lateinit var createRoomController: CreateRoomController @Inject lateinit var createSpaceController: CreateSubSpaceController - @Inject lateinit var colorProvider: ColorProvider - @Inject lateinit var clock: Clock + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel private val viewModel: CreateRoomViewModel by fragmentViewModel() @@ -80,12 +78,17 @@ class CreateRoomFragment : private lateinit var roomJoinRuleSharedActionViewModel: RoomJoinRuleSharedActionViewModel - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentCreateRoomBinding { return FragmentCreateRoomBinding.inflate(inflater, container, false) } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java) diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt index 3a4dccc71e..ba50890db3 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt @@ -32,14 +32,13 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.intent.getFilenameFromUri import im.vector.app.core.platform.OnBackPressed import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.platform.VectorMenuProvider -import im.vector.app.core.resources.ColorProvider -import im.vector.app.core.time.Clock import im.vector.app.core.utils.toast import im.vector.app.databinding.FragmentRoomSettingGenericBinding import im.vector.app.features.analytics.plan.MobileScreen @@ -66,9 +65,8 @@ class RoomSettingsFragment : VectorMenuProvider { @Inject lateinit var controller: RoomSettingsController - @Inject lateinit var colorProvider: ColorProvider @Inject lateinit var avatarRenderer: AvatarRenderer - @Inject lateinit var clock: Clock + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory private val viewModel: RoomSettingsViewModel by fragmentViewModel() private lateinit var roomProfileSharedActionViewModel: RoomProfileSharedActionViewModel @@ -76,7 +74,7 @@ class RoomSettingsFragment : private lateinit var roomJoinRuleSharedActionViewModel: RoomJoinRuleSharedActionViewModel private val roomProfileArgs: RoomProfileArgs by args() - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentRoomSettingGenericBinding { return FragmentRoomSettingGenericBinding.inflate(inflater, container, false) @@ -87,6 +85,7 @@ class RoomSettingsFragment : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) analyticsScreenName = MobileScreen.ScreenName.RoomSettings + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt index 46f7a7c74e..548a7be180 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt @@ -37,6 +37,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword import im.vector.app.core.extensions.toMvRxBundle @@ -45,8 +46,6 @@ import im.vector.app.core.platform.SimpleTextWatcher import im.vector.app.core.preference.UserAvatarPreference import im.vector.app.core.preference.VectorPreference import im.vector.app.core.preference.VectorSwitchPreference -import im.vector.app.core.resources.ColorProvider -import im.vector.app.core.time.Clock import im.vector.app.core.utils.TextUtils import im.vector.app.core.utils.getSizeOfFiles import im.vector.app.core.utils.toast @@ -80,13 +79,12 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment(), GalleryOrCameraDialogHelper.Listener { - @Inject lateinit var colorProvider: ColorProvider - @Inject lateinit var clock: Clock + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory override var titleRes = R.string.settings_general_title override val preferenceXmlRes = R.xml.vector_settings_general - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper private val mUserSettingsCategory by lazy { findPreference(VectorPreferences.SETTINGS_USER_SETTINGS_PREFERENCE_KEY)!! @@ -126,6 +124,7 @@ class VectorSettingsGeneralFragment : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) analyticsScreenName = MobileScreen.ScreenName.SettingsGeneral + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt index dac05ab72b..2baac269e0 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt @@ -24,12 +24,11 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.platform.OnBackPressed import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider -import im.vector.app.core.time.Clock import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import javax.inject.Inject @@ -41,15 +40,19 @@ class CreateSpaceDetailsFragment : OnBackPressed { @Inject lateinit var epoxyController: SpaceDetailEpoxyController - @Inject lateinit var colorProvider: ColorProvider - @Inject lateinit var clock: Clock + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory private val sharedViewModel: CreateSpaceViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentSpaceCreateGenericEpoxyFormBinding.inflate(layoutInflater, container, false) - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt index 2ad86bfe0c..ac3e5e4d05 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt @@ -33,14 +33,13 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper +import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.intent.getFilenameFromUri import im.vector.app.core.platform.OnBackPressed import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.platform.VectorMenuProvider -import im.vector.app.core.resources.ColorProvider -import im.vector.app.core.time.Clock import im.vector.app.core.utils.toast import im.vector.app.databinding.FragmentRoomSettingGenericBinding import im.vector.app.features.home.AvatarRenderer @@ -69,8 +68,7 @@ class SpaceSettingsFragment : VectorMenuProvider { @Inject lateinit var epoxyController: SpaceSettingsController - @Inject lateinit var colorProvider: ColorProvider - @Inject lateinit var clock: Clock + @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory @Inject lateinit var avatarRenderer: AvatarRenderer private val viewModel: RoomSettingsViewModel by fragmentViewModel() @@ -78,7 +76,7 @@ class SpaceSettingsFragment : private lateinit var roomJoinRuleSharedActionViewModel: RoomJoinRuleSharedActionViewModel - private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) + private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentRoomSettingGenericBinding.inflate(inflater) @@ -86,6 +84,11 @@ class SpaceSettingsFragment : override fun getMenuRes() = R.menu.vector_room_settings + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this) + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) setupToolbar(views.roomSettingsToolbar) From c494644abff924d70272842840531201a956bf59 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Sat, 20 Aug 2022 11:51:57 +0200 Subject: [PATCH 61/63] Inject AvatarRenderer normally. --- .../ftueauth/FtueAuthChooseProfilePictureFragment.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt index 65497eda10..739ac33384 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt @@ -45,11 +45,10 @@ class FtueAuthChooseProfilePictureFragment : @Inject lateinit var activeSessionHolder: ActiveSessionHolder @Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory + @Inject lateinit var avatarRenderer: AvatarRenderer private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper - private val avatarRenderer: AvatarRenderer by lazy { requireContext().singletonEntryPoint().avatarRenderer() } - override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueProfilePictureBinding { return FragmentFtueProfilePictureBinding.inflate(inflater, container, false) } From d7b2cc095a427f2de3eb2a277f89d894308cc732 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 22 Aug 2022 09:47:57 +0200 Subject: [PATCH 62/63] Format fixes. --- .../java/im/vector/app/core/platform/VectorBaseActivity.kt | 4 ---- .../ftueauth/FtueAuthChooseProfilePictureFragment.kt | 1 - 2 files changed, 5 deletions(-) diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt index 4086554d04..4e7b174772 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt @@ -21,7 +21,6 @@ import android.app.Activity import android.content.Context import android.os.Build import android.os.Bundle -import android.os.Parcelable import android.view.Menu import android.view.MenuInflater import android.view.MenuItem @@ -39,8 +38,6 @@ import androidx.core.content.ContextCompat import androidx.core.util.Consumer import androidx.core.view.MenuProvider import androidx.core.view.isVisible -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentFactory import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import androidx.lifecycle.ViewModelProvider @@ -67,7 +64,6 @@ import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.restart import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.extensions.singletonEntryPoint -import im.vector.app.core.extensions.toMvRxBundle import im.vector.app.core.resources.BuildMeta import im.vector.app.core.utils.AndroidSystemSettingsProvider import im.vector.app.core.utils.ToolbarConfig diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt index 739ac33384..92d0aa2a0f 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt @@ -29,7 +29,6 @@ import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory -import im.vector.app.core.extensions.singletonEntryPoint import im.vector.app.databinding.FragmentFtueProfilePictureBinding import im.vector.app.features.home.AvatarRenderer import im.vector.app.features.onboarding.OnboardingAction From 4c2f8537e11f11c5434735428f9c2c8f70791a01 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 23 Aug 2022 18:51:14 +0200 Subject: [PATCH 63/63] Changelog --- changelog.d/6894.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/6894.misc diff --git a/changelog.d/6894.misc b/changelog.d/6894.misc new file mode 100644 index 0000000000..abb1a69a71 --- /dev/null +++ b/changelog.d/6894.misc @@ -0,0 +1 @@ +Remove FragmentModule and the Fragment factory. No need to Inject the constructor on your Fragment, just add @AndroidEntryPoint annotation and @Inject class members.