mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-22 09:25:49 +03:00
Merge remote-tracking branch 'origin/develop' into feature/eric/new-layout-navigation
# Conflicts: # vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt
This commit is contained in:
commit
64894d4443
323 changed files with 1687 additions and 2236 deletions
2
.github/ISSUE_TEMPLATE/release.yml
vendored
2
.github/ISSUE_TEMPLATE/release.yml
vendored
|
@ -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
|
- [ ] 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.
|
- [ ] 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
|
### Do the release
|
||||||
|
|
||||||
- [ ] Make sure `develop` and `main` are up to date (git pull)
|
- [ ] Make sure `develop` and `main` are up to date (git pull)
|
||||||
|
|
2
.github/workflows/danger.yml
vendored
2
.github/workflows/danger.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
||||||
- run: |
|
- run: |
|
||||||
npm install --save-dev @babel/plugin-transform-flow-strip-types
|
npm install --save-dev @babel/plugin-transform-flow-strip-types
|
||||||
- name: Danger
|
- name: Danger
|
||||||
uses: danger/danger-js@11.1.1
|
uses: danger/danger-js@11.1.2
|
||||||
with:
|
with:
|
||||||
args: "--dangerfile tools/danger/dangerfile.js"
|
args: "--dangerfile tools/danger/dangerfile.js"
|
||||||
env:
|
env:
|
||||||
|
|
2
.github/workflows/quality.yml
vendored
2
.github/workflows/quality.yml
vendored
|
@ -66,7 +66,7 @@ jobs:
|
||||||
yarn add danger-plugin-lint-report --dev
|
yarn add danger-plugin-lint-report --dev
|
||||||
- name: Danger lint
|
- name: Danger lint
|
||||||
if: always()
|
if: always()
|
||||||
uses: danger/danger-js@11.1.1
|
uses: danger/danger-js@11.1.2
|
||||||
with:
|
with:
|
||||||
args: "--dangerfile tools/danger/dangerfile-lint.js"
|
args: "--dangerfile tools/danger/dangerfile-lint.js"
|
||||||
env:
|
env:
|
||||||
|
|
48
CHANGES.md
48
CHANGES.md
|
@ -1,3 +1,51 @@
|
||||||
|
Changes in Element v1.4.34 (2022-08-23)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- [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))
|
||||||
|
- Adds New App Layout FABs (hidden behind feature flag) ([#6693](https://github.com/vector-im/element-android/issues/6693))
|
||||||
|
|
||||||
|
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)
|
Changes in Element v1.4.32 (2022-08-10)
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ buildscript {
|
||||||
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.4.0.2513'
|
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.google.android.gms:oss-licenses-plugin:0.10.5'
|
||||||
classpath "com.likethesalad.android:stem-plugin:2.1.1"
|
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.dokka:dokka-gradle-plugin:1.7.10"
|
||||||
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
|
|
@ -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
|
|
|
@ -1 +0,0 @@
|
||||||
Removes the Login2 proof of concept - replaced by the FTUE changes
|
|
|
@ -1 +0,0 @@
|
||||||
added filter tabs for new App layout's Home screen
|
|
|
@ -1 +0,0 @@
|
||||||
[App Layout] added dialog to configure app layout
|
|
|
@ -1 +0,0 @@
|
||||||
Enable auto-capitalization for Room creation Title field
|
|
|
@ -1 +0,0 @@
|
||||||
Adds New App Layout FABs (hidden behind feature flag)
|
|
|
@ -1 +0,0 @@
|
||||||
[Notification] - Handle creation of notification for live location and poll start
|
|
|
@ -1 +0,0 @@
|
||||||
Adds space list bottom sheet for new app layout
|
|
|
@ -1 +0,0 @@
|
||||||
Decouples the variant logic from the vector module
|
|
|
@ -1 +0,0 @@
|
||||||
Add a developer setting to enable LeakCanary at runtime
|
|
|
@ -1 +0,0 @@
|
||||||
[App Layout] Dialpad moved from bottom navigation tab to a separate activity accessed via home screen context menu
|
|
|
@ -1 +0,0 @@
|
||||||
Makes toolbar switch title based on space in New App Layout
|
|
|
@ -1 +0,0 @@
|
||||||
[Devices management] Add a feature flag and empty screen for future new layout
|
|
|
@ -1 +0,0 @@
|
||||||
[Create Room] Reduce some boilerplate with room state event contents
|
|
|
@ -1 +0,0 @@
|
||||||
Adds new chat bottom sheet as the click action of the main FAB in the new app layout
|
|
|
@ -1 +0,0 @@
|
||||||
[Devices management] Other sessions section in new layout
|
|
|
@ -1 +0,0 @@
|
||||||
[Call] Memory leak after a call
|
|
|
@ -1 +0,0 @@
|
||||||
Fixing sign in/up for homeservers that rely on the SSO fallback url
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes uncaught exceptions in the SyncWorker to cause the worker to become stuck in the failure state
|
|
|
@ -1 +0,0 @@
|
||||||
Fix some string template
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes onboarding captcha crashing when no WebView is available by showing an error with information instead
|
|
|
@ -1 +0,0 @@
|
||||||
[New Layout] Adds space settings accessible through clicking the toolbar
|
|
|
@ -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
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes crash when exiting the login or registration entry screens whilst they're loading
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes server selection being unable to trust certificates
|
|
|
@ -1 +0,0 @@
|
||||||
Ensure SyncThread is started when the app is launched after a Push has been received.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes missing firebase notifications after logging in when UnifiedPush distributor is installed
|
|
1
changelog.d/6894.misc
Normal file
1
changelog.d/6894.misc
Normal file
|
@ -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.
|
|
@ -22,7 +22,7 @@ def markwon = "4.6.2"
|
||||||
def moshi = "1.13.0"
|
def moshi = "1.13.0"
|
||||||
def lifecycle = "2.5.1"
|
def lifecycle = "2.5.1"
|
||||||
def flowBinding = "1.2.0"
|
def flowBinding = "1.2.0"
|
||||||
def flipper = "0.157.0"
|
def flipper = "0.161.0"
|
||||||
def epoxy = "4.6.2"
|
def epoxy = "4.6.2"
|
||||||
def mavericks = "2.7.0"
|
def mavericks = "2.7.0"
|
||||||
def glide = "4.13.2"
|
def glide = "4.13.2"
|
||||||
|
|
|
@ -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:
|
When you create a new feature, you should have the following:
|
||||||
|
|
||||||
Annotate your Activity with @AndroidEntryPoint
|
Annotate your Activity with @AndroidEntryPoint
|
||||||
|
Annotate your Fragment with @AndroidEntryPoint
|
||||||
If you have a BottomSheetFragment => Annotate it 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
|
Add your ViewModel.Factory to the MavericksViewModelModule
|
||||||
Makes sure your ViewModel as the following code:
|
Makes sure your ViewModel as the following code:
|
||||||
|
|
||||||
|
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104310.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/en-US/changelogs/40104340.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104340.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/et/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/et/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40104310.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/fa/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40104300.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
تغییرات عمده در این نگارش: به کار انداختن ورود بهبود یافته و سفرهای ورود.
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40104310.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
تغییرات عمده در این نگارش: به کار انداختن ورود بهبود یافته و سفرهای ورود.
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/fr-FR/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40104310.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/id/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/id/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40104310.txt
Normal file
|
@ -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
|
|
@ -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.
|
||||||
|
|
||||||
<b>Fitur Element termasuk</b>
|
<b>Fitur Element termasuk:</b>
|
||||||
- Alat komunikasi online yang canggih
|
- Alat komunikasi daring yang canggih
|
||||||
- Pesan-pesan yang dienkripsi sepenuhnya untuk memungkinkan komunikasi perusahaan yang lebih aman, bahkan untuk pekerja jarak jauh
|
- 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
|
- Obrolan terdesentralisasi berdasarkan kerangka kerja Matrix yang sumber terbuka
|
||||||
- Pembagian file aman dengan data terenkripsi saat mengelola proyek
|
- Pembagian berkas aman dengan data terenkripsi saat mengelola proyek
|
||||||
- Obrolan video dengan VoIP dan pembagian layar
|
- 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.
|
||||||
|
|
||||||
<b>Perpesanan dengan privasi dan enkripsi</b>
|
<b>Perpesanan dengan privasi dan enkripsi</b>
|
||||||
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.
|
||||||
|
|
||||||
<b>Element dapat dihost sendiri</b>
|
<b>Element dapat di-host sendiri</b>
|
||||||
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.
|
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.
|
||||||
|
|
||||||
<b>Miliki data Anda</b>
|
<b>Miliki data Anda</b>
|
||||||
Anda memutuskan di mana untuk menyimpan data dan pesan-pesan Anda, tanpa risiko penambangan data atau akses dari pihak ketiga.
|
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:
|
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
|
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. Host sendiri akun Anda dengan menjalankan server pada infrastruktur IT Anda sendiri
|
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
|
3. Daftar untuk akun di server khusus dengan berlangganan platform hosting Layanan Matrix Element
|
||||||
|
|
||||||
<b>Perpesanan dan kolaborasi terbuka</b>
|
<b>Perpesanan dan kolaborasi terbuka</b>
|
||||||
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.
|
||||||
|
|
||||||
<b>Sangat aman</b>
|
<b>Sangat aman</b>
|
||||||
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.
|
||||||
|
|
||||||
<b>Komunikasi dan integrasi lengkap</b>
|
<b>Komunikasi dan integrasi lengkap</b>
|
||||||
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.
|
||||||
|
|
||||||
<b>Ambil di mana Anda tinggalkan</b>
|
<b>Ambil di mana Anda tinggalkan</b>
|
||||||
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
|
||||||
|
|
||||||
<b>Sumber terbuka</b>
|
<b>Sumber terbuka</b>
|
||||||
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
|
||||||
|
|
2
fastlane/metadata/android/it-IT/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/it-IT/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40104310.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/pt-BR/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/pt-BR/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40104310.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/sk/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/sk/changelogs/40104300.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/sk/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/sk/changelogs/40104310.txt
Normal file
|
@ -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
|
2
fastlane/metadata/android/uk/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/uk/changelogs/40104300.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Основні зміни в цій версії: Поліпшені вхід і реєстрація.
|
||||||
|
Перелік усіх змін: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/uk/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/uk/changelogs/40104310.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Основні зміни в цій версії: Поліпшені вхід і реєстрація.
|
||||||
|
Перелік усіх змін: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/zh-TW/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/zh-TW/changelogs/40104300.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
此版本中的主要變動:啟用改善的登入與註冊流程。
|
||||||
|
完整的變更紀錄:https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/zh-TW/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/zh-TW/changelogs/40104310.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
此版本中的主要變動:啟用改善的登入與註冊流程。
|
||||||
|
完整的變更紀錄:https://github.com/vector-im/element-android/releases
|
|
@ -60,7 +60,7 @@ android {
|
||||||
// that the app's state is completely cleared between tests.
|
// that the app's state is completely cleared between tests.
|
||||||
testInstrumentationRunnerArguments clearPackageData: 'true'
|
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", "\"${gitRevision()}\""
|
||||||
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""
|
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""
|
||||||
|
|
|
@ -89,6 +89,8 @@ fun Throwable.isInvalidUIAAuth() = this is Failure.ServerError &&
|
||||||
fun Throwable.isHomeserverUnavailable() = this is Failure.NetworkConnection &&
|
fun Throwable.isHomeserverUnavailable() = this is Failure.NetworkConnection &&
|
||||||
this.ioException is UnknownHostException
|
this.ioException is UnknownHostException
|
||||||
|
|
||||||
|
fun Throwable.isHomeserverConnectionError() = this is Failure.NetworkConnection
|
||||||
|
|
||||||
fun Throwable.isMissingEmailVerification() = this is Failure.ServerError &&
|
fun Throwable.isMissingEmailVerification() = this is Failure.ServerError &&
|
||||||
error.code == MatrixError.M_UNAUTHORIZED &&
|
error.code == MatrixError.M_UNAUTHORIZED &&
|
||||||
error.message == "Unable to get validated threepid"
|
error.message == "Unable to get validated threepid"
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
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 RealmCompactOnLaunch
|
||||||
|
override fun hashCode() = 0x1000
|
||||||
|
}
|
|
@ -64,7 +64,7 @@ internal class SessionRealmConfigurationFactory @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
val realmConfiguration = RealmConfiguration.Builder()
|
val realmConfiguration = RealmConfiguration.Builder()
|
||||||
.compactOnLaunch()
|
.compactOnLaunch(RealmCompactOnLaunch())
|
||||||
.directory(directory)
|
.directory(directory)
|
||||||
.name(REALM_NAME)
|
.name(REALM_NAME)
|
||||||
.apply {
|
.apply {
|
||||||
|
|
|
@ -28,7 +28,6 @@ mv ./fastlane/metadata/android/fy ./fastlane_tmp
|
||||||
mv ./fastlane/metadata/android/ga ./fastlane_tmp
|
mv ./fastlane/metadata/android/ga ./fastlane_tmp
|
||||||
mv ./fastlane/metadata/android/kab ./fastlane_tmp
|
mv ./fastlane/metadata/android/kab ./fastlane_tmp
|
||||||
mv ./fastlane/metadata/android/nb ./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
|
# Fastlane / PlayStore require longDescription and shortDescription file to be set, so copy the default
|
||||||
# one for languages where they are missing
|
# one for languages where they are missing
|
||||||
|
|
|
@ -18,10 +18,10 @@ import javax.inject.Inject
|
||||||
data class ${fragmentArgsClass}() : Parcelable
|
data class ${fragmentArgsClass}() : Parcelable
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
//TODO add this fragment into FragmentModule
|
@AndroidEntryPoint
|
||||||
class ${fragmentClass} @Inject constructor(
|
class ${fragmentClass}() :
|
||||||
private val viewModelFactory: ${viewModelClass}.Factory
|
VectorBaseFragment(),
|
||||||
) : VectorBaseFragment(), ${viewModelClass}.Factory by viewModelFactory {
|
${viewModelClass}.Factory by viewModelFactory {
|
||||||
|
|
||||||
<#if createFragmentArgs>
|
<#if createFragmentArgs>
|
||||||
private val fragmentArgs: ${fragmentArgsClass} by args()
|
private val fragmentArgs: ${fragmentArgsClass} by args()
|
||||||
|
|
|
@ -37,7 +37,7 @@ ext.versionMinor = 4
|
||||||
// Note: even values are reserved for regular release, odd values for hotfix release.
|
// 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
|
// When creating a hotfix, you should decrease the value, since the current value
|
||||||
// is the value for the next regular release.
|
// is the value for the next regular release.
|
||||||
ext.versionPatch = 34
|
ext.versionPatch = 36
|
||||||
|
|
||||||
static def getGitTimestamp() {
|
static def getGitTimestamp() {
|
||||||
def cmd = 'git show -s --format=%ct'
|
def cmd = 'git show -s --format=%ct'
|
||||||
|
|
|
@ -28,7 +28,8 @@ import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.databinding.FragmentDebugMemoryLeaksBinding
|
import im.vector.app.databinding.FragmentDebugMemoryLeaksBinding
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class DebugMemoryLeaksFragment : VectorBaseFragment<FragmentDebugMemoryLeaksBinding>() {
|
class DebugMemoryLeaksFragment :
|
||||||
|
VectorBaseFragment<FragmentDebugMemoryLeaksBinding>() {
|
||||||
|
|
||||||
private val viewModel: DebugMemoryLeaksViewModel by fragmentViewModel()
|
private val viewModel: DebugMemoryLeaksViewModel by fragmentViewModel()
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ class ActiveSessionHolder @Inject constructor(
|
||||||
|
|
||||||
suspend fun clearActiveSession() {
|
suspend fun clearActiveSession() {
|
||||||
// Do some cleanup first
|
// Do some cleanup first
|
||||||
getSafeActiveSession()?.let {
|
getSafeActiveSession(startSync = false)?.let {
|
||||||
Timber.w("clearActiveSession of ${it.myUserId}")
|
Timber.w("clearActiveSession of ${it.myUserId}")
|
||||||
it.callSignalingService().removeCallListener(callManager)
|
it.callSignalingService().removeCallListener(callManager)
|
||||||
it.removeListener(sessionListener)
|
it.removeListener(sessionListener)
|
||||||
|
@ -91,8 +91,8 @@ class ActiveSessionHolder @Inject constructor(
|
||||||
return activeSessionReference.get() != null || authenticationService.hasAuthenticatedSessions()
|
return activeSessionReference.get() != null || authenticationService.hasAuthenticatedSessions()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSafeActiveSession(): Session? {
|
fun getSafeActiveSession(startSync: Boolean = true): Session? {
|
||||||
return runBlocking { getOrInitializeSession(startSync = true) }
|
return runBlocking { getOrInitializeSession(startSync = startSync) }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getActiveSession(): Session {
|
fun getActiveSession(): Session {
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
package im.vector.app.core.di
|
package im.vector.app.core.di
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentFactory
|
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import dagger.hilt.EntryPoint
|
import dagger.hilt.EntryPoint
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
@ -25,6 +24,5 @@ import dagger.hilt.android.components.ActivityComponent
|
||||||
@InstallIn(ActivityComponent::class)
|
@InstallIn(ActivityComponent::class)
|
||||||
@EntryPoint
|
@EntryPoint
|
||||||
interface ActivityEntryPoint {
|
interface ActivityEntryPoint {
|
||||||
fun fragmentFactory(): FragmentFactory
|
|
||||||
fun viewModelFactory(): ViewModelProvider.Factory
|
fun viewModelFactory(): ViewModelProvider.Factory
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<out Fragment>)
|
|
|
@ -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
|
|
||||||
}
|
|
|
@ -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<Class<out Fragment>, Provider<Fragment>>
|
|
||||||
) : FragmentFactory() {
|
|
||||||
|
|
||||||
override fun instantiate(classLoader: ClassLoader, className: String): Fragment {
|
|
||||||
val fragmentClass = loadFragmentClass(classLoader, className)
|
|
||||||
val creator: Provider<out Fragment>? = creators[fragmentClass]
|
|
||||||
return if (creator == null) {
|
|
||||||
Timber.v("Unknown model class: $className, fallback to default instance")
|
|
||||||
super.instantiate(classLoader, className)
|
|
||||||
} else {
|
|
||||||
creator.get()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,7 +21,6 @@ import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Parcelable
|
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuInflater
|
import android.view.MenuInflater
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
|
@ -39,8 +38,6 @@ import androidx.core.content.ContextCompat
|
||||||
import androidx.core.util.Consumer
|
import androidx.core.util.Consumer
|
||||||
import androidx.core.view.MenuProvider
|
import androidx.core.view.MenuProvider
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import androidx.fragment.app.FragmentFactory
|
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.ViewModelProvider
|
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.restart
|
||||||
import im.vector.app.core.extensions.setTextOrHide
|
import im.vector.app.core.extensions.setTextOrHide
|
||||||
import im.vector.app.core.extensions.singletonEntryPoint
|
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.resources.BuildMeta
|
||||||
import im.vector.app.core.utils.AndroidSystemSettingsProvider
|
import im.vector.app.core.utils.AndroidSystemSettingsProvider
|
||||||
import im.vector.app.core.utils.ToolbarConfig
|
import im.vector.app.core.utils.ToolbarConfig
|
||||||
|
@ -169,7 +165,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
||||||
|
|
||||||
lateinit var navigator: Navigator
|
lateinit var navigator: Navigator
|
||||||
private set
|
private set
|
||||||
private lateinit var fragmentFactory: FragmentFactory
|
|
||||||
|
|
||||||
private lateinit var activeSessionHolder: ActiveSessionHolder
|
private lateinit var activeSessionHolder: ActiveSessionHolder
|
||||||
private lateinit var vectorPreferences: VectorPreferences
|
private lateinit var vectorPreferences: VectorPreferences
|
||||||
|
@ -210,8 +205,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
||||||
val singletonEntryPoint = singletonEntryPoint()
|
val singletonEntryPoint = singletonEntryPoint()
|
||||||
val activityEntryPoint = EntryPointAccessors.fromActivity(this, ActivityEntryPoint::class.java)
|
val activityEntryPoint = EntryPointAccessors.fromActivity(this, ActivityEntryPoint::class.java)
|
||||||
ThemeUtils.setActivityTheme(this, getOtherThemes())
|
ThemeUtils.setActivityTheme(this, getOtherThemes())
|
||||||
fragmentFactory = activityEntryPoint.fragmentFactory()
|
|
||||||
supportFragmentManager.fragmentFactory = fragmentFactory
|
|
||||||
viewModelFactory = activityEntryPoint.viewModelFactory()
|
viewModelFactory = activityEntryPoint.viewModelFactory()
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
|
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
|
||||||
|
@ -464,12 +457,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
||||||
bugReporter.inMultiWindowMode = it.isInMultiWindowMode
|
bugReporter.inMultiWindowMode = it.isInMultiWindowMode
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun createFragment(fragmentClass: Class<out Fragment>, argsParcelable: Parcelable? = null): Fragment {
|
|
||||||
return fragmentFactory.instantiate(classLoader, fragmentClass.name).apply {
|
|
||||||
arguments = argsParcelable?.toMvRxBundle()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ==========================================================================================
|
/* ==========================================================================================
|
||||||
* PRIVATE METHODS
|
* PRIVATE METHODS
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
|
@ -123,7 +123,6 @@ abstract class VectorBaseFragment<VB : ViewBinding> : Fragment(), MavericksView
|
||||||
analyticsTracker = singletonEntryPoint.analyticsTracker()
|
analyticsTracker = singletonEntryPoint.analyticsTracker()
|
||||||
unrecognizedCertificateDialog = singletonEntryPoint.unrecognizedCertificateDialog()
|
unrecognizedCertificateDialog = singletonEntryPoint.unrecognizedCertificateDialog()
|
||||||
viewModelFactory = activityEntryPoint.viewModelFactory()
|
viewModelFactory = activityEntryPoint.viewModelFactory()
|
||||||
childFragmentManager.fragmentFactory = activityEntryPoint.fragmentFactory()
|
|
||||||
super.onAttach(context)
|
super.onAttach(context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.core.utils.deleteAllFiles
|
import im.vector.app.core.utils.deleteAllFiles
|
||||||
import im.vector.app.databinding.ActivityMainBinding
|
import im.vector.app.databinding.ActivityMainBinding
|
||||||
import im.vector.app.features.analytics.VectorAnalytics
|
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.HomeActivity
|
||||||
import im.vector.app.features.home.ShortcutsHandler
|
import im.vector.app.features.home.ShortcutsHandler
|
||||||
import im.vector.app.features.notifications.NotificationDrawerManager
|
import im.vector.app.features.notifications.NotificationDrawerManager
|
||||||
|
@ -186,8 +187,7 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
|
||||||
} else if (intent.action == ACTION_ROOM_DETAILS_FROM_SHORTCUT) {
|
} else if (intent.action == ACTION_ROOM_DETAILS_FROM_SHORTCUT) {
|
||||||
val roomId = intent.getStringExtra(EXTRA_ROOM_ID)
|
val roomId = intent.getStringExtra(EXTRA_ROOM_ID)
|
||||||
if (roomId?.isNotEmpty() == true) {
|
if (roomId?.isNotEmpty() == true) {
|
||||||
// TODO Add a trigger Shortcut to the analytics.
|
navigator.openRoom(this, roomId, trigger = ViewRoom.Trigger.Shortcut)
|
||||||
navigator.openRoom(this, roomId)
|
|
||||||
}
|
}
|
||||||
finish()
|
finish()
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -117,6 +117,12 @@ data class Interaction(
|
||||||
*/
|
*/
|
||||||
WebLeftPanelExploreRoomsButton,
|
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
|
* User interacted with pin to sidebar checkboxes in the quick settings
|
||||||
* menu of Element Web/Desktop.
|
* menu of Element Web/Desktop.
|
||||||
|
@ -279,6 +285,18 @@ data class Interaction(
|
||||||
*/
|
*/
|
||||||
WebRoomListRoomsSublistPlusMenuExploreRoomsItem,
|
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
|
* User interacted with leave action in the general tab of the room
|
||||||
* settings dialog in Element Web/Desktop.
|
* settings dialog in Element Web/Desktop.
|
||||||
|
@ -349,6 +367,36 @@ data class Interaction(
|
||||||
* Web/Desktop.
|
* Web/Desktop.
|
||||||
*/
|
*/
|
||||||
WebUserMenuThemeToggleButton,
|
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 {
|
enum class InteractionType {
|
||||||
|
|
|
@ -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<String, Any>? {
|
||||||
|
return mutableMapOf<String, Any>().apply {
|
||||||
|
put("granted", granted)
|
||||||
|
put("permission", permission.name)
|
||||||
|
}.takeIf { it.isNotEmpty() }
|
||||||
|
}
|
||||||
|
}
|
|
@ -152,6 +152,11 @@ data class ViewRoom(
|
||||||
*/
|
*/
|
||||||
RoomList,
|
RoomList,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Room accessed via a shortcut.
|
||||||
|
*/
|
||||||
|
Shortcut,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Room accessed via a slash command in Element Web/Desktop like /goto.
|
* Room accessed via a slash command in Element Web/Desktop like /goto.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,6 +21,7 @@ import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.airbnb.mvrx.activityViewModel
|
import com.airbnb.mvrx.activityViewModel
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.setTextWithColoredPart
|
import im.vector.app.core.extensions.setTextWithColoredPart
|
||||||
import im.vector.app.core.platform.OnBackPressed
|
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 im.vector.app.features.analytics.AnalyticsConfig
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class AnalyticsOptInFragment @Inject constructor(
|
@AndroidEntryPoint
|
||||||
private val analyticsConfig: AnalyticsConfig,
|
class AnalyticsOptInFragment :
|
||||||
) : VectorBaseFragment<FragmentAnalyticsOptinBinding>(), OnBackPressed {
|
VectorBaseFragment<FragmentAnalyticsOptinBinding>(),
|
||||||
|
OnBackPressed {
|
||||||
|
|
||||||
|
@Inject lateinit var analyticsConfig: AnalyticsConfig
|
||||||
|
|
||||||
// Share the view model with the Activity so that the Activity
|
// Share the view model with the Activity so that the Activity
|
||||||
// can decide what to do when the data has been saved
|
// can decide what to do when the data has been saved
|
||||||
|
|
|
@ -39,6 +39,7 @@ import com.airbnb.mvrx.args
|
||||||
import com.airbnb.mvrx.fragmentViewModel
|
import com.airbnb.mvrx.fragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import com.yalantis.ucrop.UCrop
|
import com.yalantis.ucrop.UCrop
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.cleanup
|
import im.vector.app.core.extensions.cleanup
|
||||||
import im.vector.app.core.extensions.insertBeforeLast
|
import im.vector.app.core.extensions.insertBeforeLast
|
||||||
|
@ -63,15 +64,17 @@ data class AttachmentsPreviewArgs(
|
||||||
val attachments: List<ContentAttachmentData>
|
val attachments: List<ContentAttachmentData>
|
||||||
) : Parcelable
|
) : Parcelable
|
||||||
|
|
||||||
class AttachmentsPreviewFragment @Inject constructor(
|
@AndroidEntryPoint
|
||||||
private val attachmentMiniaturePreviewController: AttachmentMiniaturePreviewController,
|
class AttachmentsPreviewFragment :
|
||||||
private val attachmentBigPreviewController: AttachmentBigPreviewController,
|
VectorBaseFragment<FragmentAttachmentsPreviewBinding>(),
|
||||||
private val colorProvider: ColorProvider,
|
|
||||||
private val clock: Clock,
|
|
||||||
) : VectorBaseFragment<FragmentAttachmentsPreviewBinding>(),
|
|
||||||
AttachmentMiniaturePreviewController.Callback,
|
AttachmentMiniaturePreviewController.Callback,
|
||||||
VectorMenuProvider {
|
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 fragmentArgs: AttachmentsPreviewArgs by args()
|
||||||
private val viewModel: AttachmentsPreviewViewModel by fragmentViewModel()
|
private val viewModel: AttachmentsPreviewViewModel by fragmentViewModel()
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ import androidx.core.view.isVisible
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.airbnb.mvrx.activityViewModel
|
import com.airbnb.mvrx.activityViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.cleanup
|
import im.vector.app.core.extensions.cleanup
|
||||||
import im.vector.app.core.extensions.configureWith
|
import im.vector.app.core.extensions.configureWith
|
||||||
import im.vector.app.core.extensions.hideKeyboard
|
import im.vector.app.core.extensions.hideKeyboard
|
||||||
|
@ -44,9 +45,12 @@ import reactivecircus.flowbinding.android.widget.checkedChanges
|
||||||
import reactivecircus.flowbinding.android.widget.textChanges
|
import reactivecircus.flowbinding.android.widget.textChanges
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class ContactsBookFragment @Inject constructor(
|
@AndroidEntryPoint
|
||||||
private val contactsBookController: ContactsBookController
|
class ContactsBookFragment :
|
||||||
) : VectorBaseFragment<FragmentContactsBookBinding>(), ContactsBookController.Callback {
|
VectorBaseFragment<FragmentContactsBookBinding>(),
|
||||||
|
ContactsBookController.Callback {
|
||||||
|
|
||||||
|
@Inject lateinit var contactsBookController: ContactsBookController
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentContactsBookBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentContactsBookBinding {
|
||||||
return FragmentContactsBookBinding.inflate(inflater, container, false)
|
return FragmentContactsBookBinding.inflate(inflater, container, false)
|
||||||
|
|
|
@ -22,15 +22,16 @@ import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
import androidx.core.widget.doOnTextChanged
|
import androidx.core.widget.doOnTextChanged
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.registerStartForActivityResult
|
import im.vector.app.core.extensions.registerStartForActivityResult
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.utils.startImportTextFromFileIntent
|
import im.vector.app.core.utils.startImportTextFromFileIntent
|
||||||
import im.vector.app.databinding.FragmentKeysBackupRestoreFromKeyBinding
|
import im.vector.app.databinding.FragmentKeysBackupRestoreFromKeyBinding
|
||||||
import org.matrix.android.sdk.api.extensions.tryOrNull
|
import org.matrix.android.sdk.api.extensions.tryOrNull
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class KeysBackupRestoreFromKeyFragment @Inject constructor() :
|
@AndroidEntryPoint
|
||||||
|
class KeysBackupRestoreFromKeyFragment :
|
||||||
VectorBaseFragment<FragmentKeysBackupRestoreFromKeyBinding>() {
|
VectorBaseFragment<FragmentKeysBackupRestoreFromKeyBinding>() {
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromKeyBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromKeyBinding {
|
||||||
|
|
|
@ -24,12 +24,14 @@ import android.view.ViewGroup
|
||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
import androidx.core.text.set
|
import androidx.core.text.set
|
||||||
import androidx.core.widget.doOnTextChanged
|
import androidx.core.widget.doOnTextChanged
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.databinding.FragmentKeysBackupRestoreFromPassphraseBinding
|
import im.vector.app.databinding.FragmentKeysBackupRestoreFromPassphraseBinding
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class KeysBackupRestoreFromPassphraseFragment @Inject constructor() : VectorBaseFragment<FragmentKeysBackupRestoreFromPassphraseBinding>() {
|
@AndroidEntryPoint
|
||||||
|
class KeysBackupRestoreFromPassphraseFragment :
|
||||||
|
VectorBaseFragment<FragmentKeysBackupRestoreFromPassphraseBinding>() {
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromPassphraseBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromPassphraseBinding {
|
||||||
return FragmentKeysBackupRestoreFromPassphraseBinding.inflate(inflater, container, false)
|
return FragmentKeysBackupRestoreFromPassphraseBinding.inflate(inflater, container, false)
|
||||||
|
|
|
@ -20,13 +20,15 @@ import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.utils.LiveEvent
|
import im.vector.app.core.utils.LiveEvent
|
||||||
import im.vector.app.databinding.FragmentKeysBackupRestoreSuccessBinding
|
import im.vector.app.databinding.FragmentKeysBackupRestoreSuccessBinding
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class KeysBackupRestoreSuccessFragment @Inject constructor() : VectorBaseFragment<FragmentKeysBackupRestoreSuccessBinding>() {
|
@AndroidEntryPoint
|
||||||
|
class KeysBackupRestoreSuccessFragment :
|
||||||
|
VectorBaseFragment<FragmentKeysBackupRestoreSuccessBinding>() {
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreSuccessBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreSuccessBinding {
|
||||||
return FragmentKeysBackupRestoreSuccessBinding.inflate(inflater, container, false)
|
return FragmentKeysBackupRestoreSuccessBinding.inflate(inflater, container, false)
|
||||||
|
|
|
@ -22,6 +22,7 @@ import android.view.ViewGroup
|
||||||
import com.airbnb.mvrx.activityViewModel
|
import com.airbnb.mvrx.activityViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.cleanup
|
import im.vector.app.core.extensions.cleanup
|
||||||
import im.vector.app.core.extensions.configureWith
|
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 im.vector.app.features.crypto.keysbackup.restore.KeysBackupRestoreActivity
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class KeysBackupSettingsFragment @Inject constructor(private val keysBackupSettingsRecyclerViewController: KeysBackupSettingsRecyclerViewController) :
|
@AndroidEntryPoint
|
||||||
|
class KeysBackupSettingsFragment :
|
||||||
VectorBaseFragment<FragmentKeysBackupSettingsBinding>(),
|
VectorBaseFragment<FragmentKeysBackupSettingsBinding>(),
|
||||||
KeysBackupSettingsRecyclerViewController.Listener {
|
KeysBackupSettingsRecyclerViewController.Listener {
|
||||||
|
|
||||||
|
@Inject lateinit var keysBackupSettingsRecyclerViewController: KeysBackupSettingsRecyclerViewController
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSettingsBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSettingsBinding {
|
||||||
return FragmentKeysBackupSettingsBinding.inflate(inflater, container, false)
|
return FragmentKeysBackupSettingsBinding.inflate(inflater, container, false)
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,14 @@ import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.utils.LiveEvent
|
import im.vector.app.core.utils.LiveEvent
|
||||||
import im.vector.app.databinding.FragmentKeysBackupSetupStep1Binding
|
import im.vector.app.databinding.FragmentKeysBackupSetupStep1Binding
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class KeysBackupSetupStep1Fragment @Inject constructor() : VectorBaseFragment<FragmentKeysBackupSetupStep1Binding>() {
|
@AndroidEntryPoint
|
||||||
|
class KeysBackupSetupStep1Fragment :
|
||||||
|
VectorBaseFragment<FragmentKeysBackupSetupStep1Binding>() {
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep1Binding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep1Binding {
|
||||||
return FragmentKeysBackupSetupStep1Binding.inflate(inflater, container, false)
|
return FragmentKeysBackupSetupStep1Binding.inflate(inflater, container, false)
|
||||||
|
|
|
@ -24,6 +24,7 @@ import androidx.core.widget.doOnTextChanged
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import androidx.transition.TransitionManager
|
import androidx.transition.TransitionManager
|
||||||
import com.nulabinc.zxcvbn.Zxcvbn
|
import com.nulabinc.zxcvbn.Zxcvbn
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.hidePassword
|
import im.vector.app.core.extensions.hidePassword
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
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 im.vector.app.features.settings.VectorLocale
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class KeysBackupSetupStep2Fragment @Inject constructor() : VectorBaseFragment<FragmentKeysBackupSetupStep2Binding>() {
|
@AndroidEntryPoint
|
||||||
|
class KeysBackupSetupStep2Fragment :
|
||||||
|
VectorBaseFragment<FragmentKeysBackupSetupStep2Binding>() {
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep2Binding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep2Binding {
|
||||||
return FragmentKeysBackupSetupStep2Binding.inflate(inflater, container, false)
|
return FragmentKeysBackupSetupStep2Binding.inflate(inflater, container, false)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue