diff --git a/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt b/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt index d3e70e26e6..2abf6487e2 100644 --- a/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt +++ b/vector/src/debug/java/im/vector/app/features/debug/leak/DebugMemoryLeaksFragment.kt @@ -28,7 +28,8 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentDebugMemoryLeaksBinding @AndroidEntryPoint -class DebugMemoryLeaksFragment : VectorBaseFragment() { +class DebugMemoryLeaksFragment : + VectorBaseFragment() { private val viewModel: DebugMemoryLeaksViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt b/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt index a5bafa2ee6..fbeeab9ec3 100644 --- a/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt +++ b/vector/src/main/java/im/vector/app/features/analytics/ui/consent/AnalyticsOptInFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextWithColoredPart import im.vector.app.core.platform.OnBackPressed @@ -30,9 +31,12 @@ import im.vector.app.databinding.FragmentAnalyticsOptinBinding import im.vector.app.features.analytics.AnalyticsConfig import javax.inject.Inject -class AnalyticsOptInFragment @Inject constructor( - private val analyticsConfig: AnalyticsConfig, -) : VectorBaseFragment(), OnBackPressed { +@AndroidEntryPoint +class AnalyticsOptInFragment : + VectorBaseFragment(), + OnBackPressed { + + @Inject lateinit var analyticsConfig: AnalyticsConfig // Share the view model with the Activity so that the Activity // can decide what to do when the data has been saved diff --git a/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt index c3a4ae7df2..47b19a435e 100644 --- a/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt @@ -39,6 +39,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.yalantis.ucrop.UCrop +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.insertBeforeLast @@ -63,15 +64,17 @@ data class AttachmentsPreviewArgs( val attachments: List ) : Parcelable -class AttachmentsPreviewFragment @Inject constructor( - private val attachmentMiniaturePreviewController: AttachmentMiniaturePreviewController, - private val attachmentBigPreviewController: AttachmentBigPreviewController, - private val colorProvider: ColorProvider, - private val clock: Clock, -) : VectorBaseFragment(), +@AndroidEntryPoint +class AttachmentsPreviewFragment : + VectorBaseFragment(), AttachmentMiniaturePreviewController.Callback, VectorMenuProvider { + @Inject lateinit var attachmentMiniaturePreviewController: AttachmentMiniaturePreviewController + @Inject lateinit var attachmentBigPreviewController: AttachmentBigPreviewController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + private val fragmentArgs: AttachmentsPreviewArgs by args() private val viewModel: AttachmentsPreviewViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt b/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt index 8cd7f2de45..4677dce7d6 100644 --- a/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt +++ b/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt @@ -24,6 +24,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard @@ -44,9 +45,12 @@ import reactivecircus.flowbinding.android.widget.checkedChanges import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class ContactsBookFragment @Inject constructor( - private val contactsBookController: ContactsBookController -) : VectorBaseFragment(), ContactsBookController.Callback { +@AndroidEntryPoint +class ContactsBookFragment : + VectorBaseFragment(), + ContactsBookController.Callback { + + @Inject lateinit var contactsBookController: ContactsBookController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentContactsBookBinding { return FragmentContactsBookBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt index 42605a850b..9a3d37eed7 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyFragment.kt @@ -22,15 +22,16 @@ import android.view.View import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.core.widget.doOnTextChanged +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.startImportTextFromFileIntent import im.vector.app.databinding.FragmentKeysBackupRestoreFromKeyBinding import org.matrix.android.sdk.api.extensions.tryOrNull -import javax.inject.Inject -class KeysBackupRestoreFromKeyFragment @Inject constructor() : +@AndroidEntryPoint +class KeysBackupRestoreFromKeyFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromKeyBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt index 631bc9ff4f..cf98bc7e4d 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreFromPassphraseFragment.kt @@ -24,12 +24,14 @@ import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.core.text.set import androidx.core.widget.doOnTextChanged +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentKeysBackupRestoreFromPassphraseBinding -import javax.inject.Inject -class KeysBackupRestoreFromPassphraseFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupRestoreFromPassphraseFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreFromPassphraseBinding { return FragmentKeysBackupRestoreFromPassphraseBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt index d26c1e2134..4a1bc49e27 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreSuccessFragment.kt @@ -20,13 +20,15 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.LiveEvent import im.vector.app.databinding.FragmentKeysBackupRestoreSuccessBinding -import javax.inject.Inject -class KeysBackupRestoreSuccessFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupRestoreSuccessFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupRestoreSuccessBinding { return FragmentKeysBackupRestoreSuccessBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt index edc44fa796..c0001501d5 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -30,10 +31,13 @@ import im.vector.app.databinding.FragmentKeysBackupSettingsBinding import im.vector.app.features.crypto.keysbackup.restore.KeysBackupRestoreActivity import javax.inject.Inject -class KeysBackupSettingsFragment @Inject constructor(private val keysBackupSettingsRecyclerViewController: KeysBackupSettingsRecyclerViewController) : +@AndroidEntryPoint +class KeysBackupSettingsFragment : VectorBaseFragment(), KeysBackupSettingsRecyclerViewController.Listener { + @Inject lateinit var keysBackupSettingsRecyclerViewController: KeysBackupSettingsRecyclerViewController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSettingsBinding { return FragmentKeysBackupSettingsBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt index 7d8feba942..9b8386c741 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep1Fragment.kt @@ -20,12 +20,14 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.LiveEvent import im.vector.app.databinding.FragmentKeysBackupSetupStep1Binding -import javax.inject.Inject -class KeysBackupSetupStep1Fragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupSetupStep1Fragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep1Binding { return FragmentKeysBackupSetupStep1Binding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt index 706076dae0..cf92afcc2e 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep2Fragment.kt @@ -24,6 +24,7 @@ import androidx.core.widget.doOnTextChanged import androidx.lifecycle.viewModelScope import androidx.transition.TransitionManager import com.nulabinc.zxcvbn.Zxcvbn +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hidePassword import im.vector.app.core.platform.VectorBaseFragment @@ -31,9 +32,10 @@ import im.vector.app.databinding.FragmentKeysBackupSetupStep2Binding import im.vector.app.features.settings.VectorLocale import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject -class KeysBackupSetupStep2Fragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupSetupStep2Fragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep2Binding { return FragmentKeysBackupSetupStep2Binding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt index 41ff8af04b..7e0fb7e417 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt @@ -28,6 +28,7 @@ import androidx.lifecycle.lifecycleScope import arrow.core.Try import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.safeOpenOutputStream @@ -44,9 +45,10 @@ import java.io.IOException import java.text.SimpleDateFormat import java.util.Date import java.util.Locale -import javax.inject.Inject -class KeysBackupSetupStep3Fragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class KeysBackupSetupStep3Fragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentKeysBackupSetupStep3Binding { return FragmentKeysBackupSetupStep3Binding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt index 5a7aba65a5..efb24ebea7 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageKeyFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.VectorBaseFragment @@ -35,9 +36,10 @@ import kotlinx.coroutines.flow.onEach import org.matrix.android.sdk.api.extensions.tryOrNull import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class SharedSecuredStorageKeyFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class SharedSecuredStorageKeyFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSsssAccessFromKeyBinding { return FragmentSsssAccessFromKeyBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt index 5af5480573..877e4aa164 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStoragePassphraseFragment.kt @@ -24,20 +24,19 @@ import android.view.inputmethod.EditorInfo import androidx.core.text.toSpannable import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.databinding.FragmentSsssAccessFromPassphraseBinding import im.vector.lib.core.utils.flow.throttleFirst import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class SharedSecuredStoragePassphraseFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class SharedSecuredStoragePassphraseFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSsssAccessFromPassphraseBinding { return FragmentSsssAccessFromPassphraseBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt index c0d0aa8e76..66344107a4 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecuredStorageResetAllFragment.kt @@ -22,14 +22,15 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSsssResetAllBinding import im.vector.app.features.roommemberprofile.devices.DeviceListBottomSheet -import javax.inject.Inject -class SharedSecuredStorageResetAllFragment @Inject constructor() : +@AndroidEntryPoint +class SharedSecuredStorageResetAllFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSsssResetAllBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt index 555f2d7c1c..22ecd3dafd 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConclusionFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.core.text.toSpannable import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.resources.ColorProvider @@ -30,9 +31,11 @@ import im.vector.app.core.utils.colorizeMatchingText import im.vector.app.databinding.FragmentBootstrapConclusionBinding import javax.inject.Inject -class BootstrapConclusionFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapConclusionFragment : + VectorBaseFragment() { + + @Inject lateinit var colorProvider: ColorProvider override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapConclusionBinding { return FragmentBootstrapConclusionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt index 3c8137d087..285721ee75 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapConfirmPassphraseFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isGone import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.platform.VectorBaseFragment @@ -34,9 +35,9 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class BootstrapConfirmPassphraseFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapConfirmPassphraseFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapEnterPassphraseBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt index ff6d109b3c..43cc25f195 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapEnterPassphraseFragment.kt @@ -24,6 +24,7 @@ import android.view.inputmethod.EditorInfo import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentBootstrapEnterPassphraseBinding @@ -33,9 +34,9 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class BootstrapEnterPassphraseFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapEnterPassphraseFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapEnterPassphraseBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt index 2c0ccec9fb..2802c872ee 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapMigrateBackupFragment.kt @@ -30,6 +30,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.registerStartForActivityResult @@ -47,9 +48,11 @@ import reactivecircus.flowbinding.android.widget.editorActionEvents import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class BootstrapMigrateBackupFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapMigrateBackupFragment : + VectorBaseFragment() { + + @Inject lateinit var colorProvider: ColorProvider override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapMigrateBackupBinding { return FragmentBootstrapMigrateBackupBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt index c46ccbf08e..d5e60631a5 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapReAuthFragment.kt @@ -23,15 +23,14 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.databinding.FragmentBootstrapReauthBinding -import javax.inject.Inject -class BootstrapReAuthFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapReAuthFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapReauthBinding { return FragmentBootstrapReauthBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt index db24807c1b..21d68dfe99 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSaveRecoveryKeyFragment.kt @@ -27,21 +27,20 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.safeOpenOutputStream import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.core.utils.startSharePlainTextIntent import im.vector.app.core.utils.toast import im.vector.app.databinding.FragmentBootstrapSaveKeyBinding import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject -class BootstrapSaveRecoveryKeyFragment @Inject constructor( - private val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class BootstrapSaveRecoveryKeyFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapSaveKeyBinding { return FragmentBootstrapSaveKeyBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt index 3d078a82ed..b03cbe87a8 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapSetupRecoveryKeyFragment.kt @@ -23,13 +23,14 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentBootstrapSetupRecoveryBinding import im.vector.app.features.raw.wellknown.SecureBackupMethod -import javax.inject.Inject -class BootstrapSetupRecoveryKeyFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapSetupRecoveryKeyFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapSetupRecoveryBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt index e0965e69f9..310bb5ac37 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapWaitingFragment.kt @@ -21,11 +21,12 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentBootstrapWaitingBinding -import javax.inject.Inject -class BootstrapWaitingFragment @Inject constructor() : +@AndroidEntryPoint +class BootstrapWaitingFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentBootstrapWaitingBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt index 366348120b..5b6902df98 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/QuadSLoadingFragment.kt @@ -18,11 +18,13 @@ package im.vector.app.features.crypto.verification import android.view.LayoutInflater import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentProgressBinding -import javax.inject.Inject -class QuadSLoadingFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class QuadSLoadingFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentProgressBinding { return FragmentProgressBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt index 62bab05e42..c972f7834d 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationCancelFragment @Inject constructor( - val controller: VerificationCancelController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationCancelFragment : + VectorBaseFragment(), VerificationCancelController.Listener { + @Inject lateinit var controller: VerificationCancelController + private val viewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt index 635a56a6c1..05632bdfc3 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationNotMeFragment @Inject constructor( - val controller: VerificationNotMeController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationNotMeFragment : + VectorBaseFragment(), VerificationNotMeController.Listener { + @Inject lateinit var controller: VerificationNotMeController + private val viewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt index 3d3766f430..45f7908446 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,11 +40,12 @@ import im.vector.app.features.qrcode.QrCodeScannerActivity import timber.log.Timber import javax.inject.Inject -class VerificationChooseMethodFragment @Inject constructor( - val controller: VerificationChooseMethodController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationChooseMethodFragment : + VectorBaseFragment(), VerificationChooseMethodController.Listener { + @Inject lateinit var controller: VerificationChooseMethodController private val viewModel by fragmentViewModel(VerificationChooseMethodViewModel::class) private val sharedViewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt index 85b90e6004..dd559e8a1b 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -32,11 +33,13 @@ import im.vector.app.features.crypto.verification.VerificationBottomSheetViewMod import kotlinx.parcelize.Parcelize import javax.inject.Inject -class VerificationConclusionFragment @Inject constructor( - val controller: VerificationConclusionController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationConclusionFragment : + VectorBaseFragment(), VerificationConclusionController.Listener { + @Inject lateinit var controller: VerificationConclusionController + @Parcelize data class Args( val isSuccessFull: Boolean, diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt index 3f4eaf8ac9..1e1a8d0710 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,11 +31,13 @@ import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationEmojiCodeFragment @Inject constructor( - val controller: VerificationEmojiCodeController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationEmojiCodeFragment : + VectorBaseFragment(), VerificationEmojiCodeController.Listener { + @Inject lateinit var controller: VerificationEmojiCodeController + private val viewModel by fragmentViewModel(VerificationEmojiCodeViewModel::class) private val sharedViewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt index 441885dd10..e5402424d0 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQRWaitingFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.Mavericks +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,9 +30,11 @@ import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import kotlinx.parcelize.Parcelize import javax.inject.Inject -class VerificationQRWaitingFragment @Inject constructor( - val controller: VerificationQRWaitingController -) : VectorBaseFragment() { +@AndroidEntryPoint +class VerificationQRWaitingFragment : + VectorBaseFragment() { + + @Inject lateinit var controller: VerificationQRWaitingController @Parcelize data class Args( diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt index 9e77506e3b..0fdbd03174 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherFragment.kt @@ -21,6 +21,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationQrScannedByOtherFragment @Inject constructor( - val controller: VerificationQrScannedByOtherController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationQrScannedByOtherFragment : + VectorBaseFragment(), VerificationQrScannedByOtherController.Listener { + @Inject lateinit var controller: VerificationQrScannedByOtherController + private val sharedViewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt index 238249683f..6887451a76 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestFragment.kt @@ -21,6 +21,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -29,11 +30,13 @@ import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.crypto.verification.VerificationBottomSheetViewModel import javax.inject.Inject -class VerificationRequestFragment @Inject constructor( - val controller: VerificationRequestController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VerificationRequestFragment : + VectorBaseFragment(), VerificationRequestController.Listener { + @Inject lateinit var controller: VerificationRequestController + private val viewModel by parentFragmentViewModel(VerificationBottomSheetViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetVerificationChildFragmentBinding { diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt index 1b6fbb7359..3bbb43013d 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolEditFragment.kt @@ -23,15 +23,16 @@ import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentDevtoolsEditorBinding import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject -class RoomDevToolEditFragment @Inject constructor() : +@AndroidEntryPoint +class RoomDevToolEditFragment : VectorBaseFragment() { private val sharedViewModel: RoomDevToolViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt index 0e1a2418b8..0ebbf7d8bf 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -28,11 +29,13 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class RoomDevToolFragment @Inject constructor( - private val epoxyController: RoomDevToolRootController -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomDevToolFragment : + VectorBaseFragment(), DevToolsInteractionListener { + @Inject lateinit var epoxyController: RoomDevToolRootController + private val sharedViewModel: RoomDevToolViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt index 6b7dea7d53..3ec49e25f6 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt @@ -22,15 +22,19 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class RoomDevToolSendFormFragment @Inject constructor( - private val epoxyController: RoomDevToolSendFormController -) : VectorBaseFragment(), DevToolsInteractionListener { +@AndroidEntryPoint +class RoomDevToolSendFormFragment : + VectorBaseFragment(), + DevToolsInteractionListener { + + @Inject lateinit var epoxyController: RoomDevToolSendFormController val sharedViewModel: RoomDevToolViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt index 728fb62d66..dfc74e7e74 100644 --- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,12 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class RoomDevToolStateEventListFragment @Inject constructor( - private val epoxyController: RoomStateListController -) : VectorBaseFragment(), DevToolsInteractionListener { +@AndroidEntryPoint +class RoomDevToolStateEventListFragment : + VectorBaseFragment(), + DevToolsInteractionListener { + + @Inject lateinit var epoxyController: RoomStateListController val sharedViewModel: RoomDevToolViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt index 285d0f728f..8c801bdf89 100644 --- a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt @@ -25,6 +25,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,11 +44,13 @@ import org.matrix.android.sdk.api.session.identity.ThreePid import org.matrix.android.sdk.api.session.terms.TermsService import javax.inject.Inject -class DiscoverySettingsFragment @Inject constructor( - private val controller: DiscoverySettingsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class DiscoverySettingsFragment : + VectorBaseFragment(), DiscoverySettingsController.Listener { + @Inject lateinit var controller: DiscoverySettingsController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt b/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt index ee36345418..f8499219aa 100644 --- a/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt @@ -28,6 +28,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.toReducedUrl @@ -42,9 +43,11 @@ import org.matrix.android.sdk.api.session.terms.TermsService import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class SetIdentityServerFragment @Inject constructor( - val colorProvider: ColorProvider -) : VectorBaseFragment() { +@AndroidEntryPoint +class SetIdentityServerFragment : + VectorBaseFragment() { + + @Inject lateinit var colorProvider: ColorProvider override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSetIdentityServerBinding { return FragmentSetIdentityServerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt index d4c89c1bca..cdc16f1f33 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.badge.BadgeDrawable +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.SpaceStateHandler import im.vector.app.core.extensions.commitTransaction @@ -60,19 +61,21 @@ import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo import org.matrix.android.sdk.api.session.room.model.RoomSummary import javax.inject.Inject -class HomeDetailFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val colorProvider: ColorProvider, - private val alertManager: PopupAlertManager, - private val callManager: WebRtcCallManager, - private val vectorPreferences: VectorPreferences, - private val spaceStateHandler: SpaceStateHandler, -) : VectorBaseFragment(), +@AndroidEntryPoint +class HomeDetailFragment : + VectorBaseFragment(), KeysBackupBanner.Delegate, CurrentCallsView.Callback, OnBackPressed, VectorMenuProvider { + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var alertManager: PopupAlertManager + @Inject lateinit var callManager: WebRtcCallManager + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var spaceStateHandler: SpaceStateHandler + private val viewModel: HomeDetailViewModel by fragmentViewModel() private val unknownDeviceDetectorSharedViewModel: UnknownDeviceDetectorSharedViewModel by activityViewModel() private val unreadMessagesSharedViewModel: UnreadMessagesSharedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt b/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt index 535f38e68e..011a7c4537 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.core.app.ActivityOptionsCompat import androidx.core.view.ViewCompat import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.observeK import im.vector.app.core.extensions.replaceChildFragment @@ -40,12 +41,14 @@ import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class HomeDrawerFragment @Inject constructor( - private val session: Session, - private val vectorPreferences: VectorPreferences, - private val avatarRenderer: AvatarRenderer, - private val buildMeta: BuildMeta, -) : VectorBaseFragment() { +@AndroidEntryPoint +class HomeDrawerFragment : + VectorBaseFragment() { + + @Inject lateinit var session: Session + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var buildMeta: BuildMeta private lateinit var sharedActionViewModel: HomeSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt b/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt index 47cfd1c28f..c5e33abf34 100644 --- a/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/LoadingFragment.kt @@ -21,11 +21,12 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentLoadingBinding -import javax.inject.Inject -class LoadingFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class LoadingFragment : VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoadingBinding { return FragmentLoadingBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt index 0e4f0d90dc..5e78acd5ce 100644 --- a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.badge.BadgeDrawable +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.SpaceStateHandler import im.vector.app.core.extensions.commitTransaction @@ -60,20 +61,22 @@ import org.matrix.android.sdk.api.session.room.model.RoomSummary import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class NewHomeDetailFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val colorProvider: ColorProvider, - private val alertManager: PopupAlertManager, - private val callManager: WebRtcCallManager, - private val vectorPreferences: VectorPreferences, - private val spaceStateHandler: SpaceStateHandler, - private val session: Session, -) : VectorBaseFragment(), +@AndroidEntryPoint +class NewHomeDetailFragment : + VectorBaseFragment(), KeysBackupBanner.Delegate, CurrentCallsView.Callback, OnBackPressed, VectorMenuProvider { + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var alertManager: PopupAlertManager + @Inject lateinit var callManager: WebRtcCallManager + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var spaceStateHandler: SpaceStateHandler + @Inject lateinit var session: Session + private val viewModel: HomeDetailViewModel by fragmentViewModel() private val unknownDeviceDetectorSharedViewModel: UnknownDeviceDetectorSharedViewModel by activityViewModel() private val unreadMessagesSharedViewModel: UnreadMessagesSharedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt index 4d44ff775a..c5d7d76322 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,11 +31,13 @@ import im.vector.app.features.home.room.detail.RoomDetailSharedAction import im.vector.app.features.home.room.detail.RoomDetailSharedActionViewModel import javax.inject.Inject -class BreadcrumbsFragment @Inject constructor( - private val breadcrumbsController: BreadcrumbsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class BreadcrumbsFragment : + VectorBaseFragment(), BreadcrumbsController.Listener { + @Inject lateinit var breadcrumbsController: BreadcrumbsController + private lateinit var sharedActionViewModel: RoomDetailSharedActionViewModel private val breadcrumbsViewModel: BreadcrumbsViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt index f164183914..2e23fbf257 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt @@ -67,6 +67,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.vanniktech.emoji.EmojiPopup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.play import im.vector.app.core.dialogs.ConfirmationDialogBuilder @@ -255,31 +256,8 @@ import java.net.URL import java.util.UUID import javax.inject.Inject -class TimelineFragment @Inject constructor( - private val session: Session, - private val avatarRenderer: AvatarRenderer, - private val timelineEventController: TimelineEventController, - autoCompleterFactory: AutoCompleter.Factory, - private val permalinkHandler: PermalinkHandler, - private val notificationDrawerManager: NotificationDrawerManager, - private val eventHtmlRenderer: EventHtmlRenderer, - private val vectorPreferences: VectorPreferences, - private val threadsManager: ThreadsManager, - private val colorProvider: ColorProvider, - private val dimensionConverter: DimensionConverter, - private val userPreferencesProvider: UserPreferencesProvider, - private val notificationUtils: NotificationUtils, - private val matrixItemColorProvider: MatrixItemColorProvider, - private val imageContentRenderer: ImageContentRenderer, - private val roomDetailPendingActionStore: RoomDetailPendingActionStore, - private val pillsPostProcessorFactory: PillsPostProcessor.Factory, - private val callManager: WebRtcCallManager, - private val audioMessagePlaybackTracker: AudioMessagePlaybackTracker, - private val shareIntentHandler: ShareIntentHandler, - private val clock: Clock, - private val vectorFeatures: VectorFeatures, - private val buildMeta: BuildMeta, -) : +@AndroidEntryPoint +class TimelineFragment : VectorBaseFragment(), TimelineEventController.Callback, VectorInviteView.Callback, @@ -289,6 +267,30 @@ class TimelineFragment @Inject constructor( CurrentCallsView.Callback, VectorMenuProvider { + @Inject lateinit var session: Session + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var timelineEventController: TimelineEventController + @Inject lateinit var autoCompleterFactory: AutoCompleter.Factory + @Inject lateinit var permalinkHandler: PermalinkHandler + @Inject lateinit var notificationDrawerManager: NotificationDrawerManager + @Inject lateinit var eventHtmlRenderer: EventHtmlRenderer + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var threadsManager: ThreadsManager + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var dimensionConverter: DimensionConverter + @Inject lateinit var userPreferencesProvider: UserPreferencesProvider + @Inject lateinit var notificationUtils: NotificationUtils + @Inject lateinit var matrixItemColorProvider: MatrixItemColorProvider + @Inject lateinit var imageContentRenderer: ImageContentRenderer + @Inject lateinit var roomDetailPendingActionStore: RoomDetailPendingActionStore + @Inject lateinit var pillsPostProcessorFactory: PillsPostProcessor.Factory + @Inject lateinit var callManager: WebRtcCallManager + @Inject lateinit var audioMessagePlaybackTracker: AudioMessagePlaybackTracker + @Inject lateinit var shareIntentHandler: ShareIntentHandler + @Inject lateinit var clock: Clock + @Inject lateinit var vectorFeatures: VectorFeatures + @Inject lateinit var buildMeta: BuildMeta + companion object { /** diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt index de51adf05a..713ca80089 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -51,12 +52,13 @@ data class SearchArgs( val roomAvatarUrl: String? ) : Parcelable -class SearchFragment @Inject constructor( - private val controller: SearchResultController -) : VectorBaseFragment(), +@AndroidEntryPoint +class SearchFragment : + VectorBaseFragment(), StateView.EventCallback, SearchResultController.Listener { + @Inject lateinit var controller: SearchResultController private val fragmentArgs: SearchArgs by args() private val searchViewModel: SearchViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt index c25fe546c3..de51101804 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt @@ -35,6 +35,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.extensions.cleanup @@ -70,17 +71,19 @@ data class RoomListParams( val displayMode: RoomListDisplayMode ) : Parcelable -class RoomListFragment @Inject constructor( - private val pagedControllerFactory: RoomSummaryPagedControllerFactory, - private val notificationDrawerManager: NotificationDrawerManager, - private val footerController: RoomListFooterController, - private val userPreferencesProvider: UserPreferencesProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomListFragment : + VectorBaseFragment(), RoomListListener, OnBackPressed, FilteredRoomFooterItem.Listener, NotifsFabMenuView.Listener { + @Inject lateinit var pagedControllerFactory: RoomSummaryPagedControllerFactory + @Inject lateinit var notificationDrawerManager: NotificationDrawerManager + @Inject lateinit var footerController: RoomListFooterController + @Inject lateinit var userPreferencesProvider: UserPreferencesProvider + private var modelBuildListener: OnModelBuildFinishedListener? = null private lateinit var sharedActionViewModel: RoomListQuickActionsSharedActionViewModel private val roomListParams: RoomListParams by args() diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt index 9464033896..8fedfef323 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.epoxy.OnModelBuildFinishedListener import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.extensions.cleanup @@ -57,13 +58,15 @@ import org.matrix.android.sdk.api.session.room.model.tag.RoomTag import org.matrix.android.sdk.api.session.room.notification.RoomNotificationState import javax.inject.Inject -class HomeRoomListFragment @Inject constructor( - private val roomSummaryItemFactory: RoomSummaryItemFactory, - private val userPreferencesProvider: UserPreferencesProvider, - private val recentRoomCarouselController: RecentRoomCarouselController -) : VectorBaseFragment(), +@AndroidEntryPoint +class HomeRoomListFragment : + VectorBaseFragment(), RoomListListener { + @Inject lateinit var roomSummaryItemFactory: RoomSummaryItemFactory + @Inject lateinit var userPreferencesProvider: UserPreferencesProvider + @Inject lateinit var recentRoomCarouselController: RecentRoomCarouselController + private val roomListViewModel: HomeRoomListViewModel by fragmentViewModel() private lateinit var sharedQuickActionsViewModel: RoomListQuickActionsSharedActionViewModel private lateinit var sharedActionViewModel: RoomListSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt index aaa9846c39..ef07067bac 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt @@ -26,6 +26,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -48,15 +49,17 @@ import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent import org.matrix.android.sdk.api.util.MatrixItem import javax.inject.Inject -class ThreadListFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val bugReporter: BugReporter, - private val threadListController: ThreadListController, - val threadListViewModelFactory: ThreadListViewModel.Factory -) : VectorBaseFragment(), +@AndroidEntryPoint +class ThreadListFragment : + VectorBaseFragment(), ThreadListController.Listener, VectorMenuProvider { + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var bugReporter: BugReporter + @Inject lateinit var threadListController: ThreadListController + @Inject lateinit var threadListViewModelFactory: ThreadListViewModel.Factory + private val threadListViewModel: ThreadListViewModel by fragmentViewModel() private val threadListArgs: ThreadListArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt b/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt index d96410010e..779818b3d6 100644 --- a/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/LocationSharingFragment.kt @@ -31,6 +31,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.mapbox.mapboxsdk.maps.MapView +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment import im.vector.app.core.platform.VectorBaseFragment @@ -53,15 +54,17 @@ import javax.inject.Inject /** * We should consider using SupportMapFragment for a out of the box lifecycle handling. */ -class LocationSharingFragment @Inject constructor( - private val urlMapProvider: UrlMapProvider, - private val avatarRenderer: AvatarRenderer, - private val matrixItemColorProvider: MatrixItemColorProvider, - private val vectorPreferences: VectorPreferences, -) : VectorBaseFragment(), +@AndroidEntryPoint +class LocationSharingFragment : + VectorBaseFragment(), LocationTargetChangeListener, VectorBaseBottomSheetDialogFragment.ResultListener { + @Inject lateinit var urlMapProvider: UrlMapProvider + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var matrixItemColorProvider: MatrixItemColorProvider + @Inject lateinit var vectorPreferences: VectorPreferences + private val viewModel: LocationSharingViewModel by fragmentViewModel() private val locationSharingNavigator: LocationSharingNavigator by lazy { DefaultLocationSharingNavigator(activity) } diff --git a/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt b/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt index fc600c550f..942021dd64 100644 --- a/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/live/map/LiveLocationMapViewFragment.kt @@ -62,7 +62,8 @@ import javax.inject.Inject * Screen showing a map with all the current users sharing their live location in a room. */ @AndroidEntryPoint -class LiveLocationMapViewFragment : VectorBaseFragment() { +class LiveLocationMapViewFragment : + VectorBaseFragment() { @Inject lateinit var urlMapProvider: UrlMapProvider @Inject lateinit var bottomSheetController: LiveLocationBottomSheetController diff --git a/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt index 8285d0156b..082cee02f0 100644 --- a/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/location/preview/LocationPreviewFragment.kt @@ -27,6 +27,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.mapbox.mapboxsdk.maps.MapView +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.platform.VectorMenuProvider @@ -43,12 +44,14 @@ import javax.inject.Inject /* * TODO Move locationPinProvider to a ViewModel */ -class LocationPreviewFragment @Inject constructor( - private val urlMapProvider: UrlMapProvider, - private val locationPinProvider: LocationPinProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class LocationPreviewFragment : + VectorBaseFragment(), VectorMenuProvider { + @Inject lateinit var urlMapProvider: UrlMapProvider + @Inject lateinit var locationPinProvider: LocationPinProvider + private val args: LocationSharingArgs by args() private val viewModel: LocationPreviewViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt index 1b49f9bfa1..25403b06f3 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginCaptchaFragment.kt @@ -33,6 +33,7 @@ import android.webkit.WebViewClient import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.AssetReader import im.vector.app.databinding.FragmentLoginCaptchaBinding @@ -51,9 +52,11 @@ data class LoginCaptchaFragmentArgument( /** * In this screen, the user is asked to confirm he is not a robot. */ -class LoginCaptchaFragment @Inject constructor( - private val assetReader: AssetReader -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginCaptchaFragment : + AbstractLoginFragment() { + + @Inject lateinit var assetReader: AssetReader override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginCaptchaBinding { return FragmentLoginCaptchaBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt index 03010e0a75..d61044d101 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginFragment.kt @@ -28,6 +28,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Loading +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -41,7 +42,6 @@ import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.MatrixError import org.matrix.android.sdk.api.failure.isInvalidPassword import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen: @@ -51,7 +51,9 @@ import javax.inject.Inject * In signup mode: * - the user is asked for login and password */ -class LoginFragment @Inject constructor() : AbstractSSOLoginFragment() { +@AndroidEntryPoint +class LoginFragment : + AbstractSSOLoginFragment() { private var isSignupMode = false diff --git a/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt index 07253d80ec..2bc8419989 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginGenericTextInputFormFragment.kt @@ -29,6 +29,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.args import com.google.i18n.phonenumbers.NumberParseException import com.google.i18n.phonenumbers.PhoneNumberUtil +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.isEmail @@ -41,7 +42,6 @@ import org.matrix.android.sdk.api.auth.registration.RegisterThreePid import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.is401 import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject enum class TextInputFormFragmentMode { SetEmail, @@ -59,7 +59,9 @@ data class LoginGenericTextInputFormFragmentArgument( /** * In this screen, the user is asked for a text input. */ -class LoginGenericTextInputFormFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginGenericTextInputFormFragment : + AbstractLoginFragment() { private val params: LoginGenericTextInputFormFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt index 1ca0774f54..87df2d9483 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordFragment.kt @@ -24,6 +24,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Loading import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -36,12 +37,13 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen, the user is asked for email and new password to reset his password. */ -class LoginResetPasswordFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginResetPasswordFragment : + AbstractLoginFragment() { // Show warning only once private var showWarning = true diff --git a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt index 689e8ef6b7..c95a778860 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordMailConfirmationFragment.kt @@ -22,15 +22,17 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.Fail import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginResetPasswordMailConfirmationBinding import org.matrix.android.sdk.api.failure.is401 -import javax.inject.Inject /** * In this screen, the user is asked to check their email and to click on a button once it's done. */ -class LoginResetPasswordMailConfirmationFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginResetPasswordMailConfirmationFragment : + AbstractLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordMailConfirmationBinding { return FragmentLoginResetPasswordMailConfirmationBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt index d2f1f620bd..e601f0512d 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginResetPasswordSuccessFragment.kt @@ -20,13 +20,15 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentLoginResetPasswordSuccessBinding -import javax.inject.Inject /** * In this screen, we confirm to the user that his password has been reset. */ -class LoginResetPasswordSuccessFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginResetPasswordSuccessFragment : + AbstractLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordSuccessBinding { return FragmentLoginResetPasswordSuccessBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt index 6c49bafbba..0813957e99 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginServerSelectionFragment.kt @@ -20,16 +20,18 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.openUrlInChromeCustomTab import im.vector.app.databinding.FragmentLoginServerSelectionBinding import me.gujun.android.span.span -import javax.inject.Inject /** * In this screen, the user will choose between matrix.org, modular or other type of homeserver. */ -class LoginServerSelectionFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginServerSelectionFragment : + AbstractLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerSelectionBinding { return FragmentLoginServerSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt index 937e1bdf55..aabe0c2f2f 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginServerUrlFormFragment.kt @@ -27,6 +27,7 @@ import androidx.core.view.isInvisible import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.google.android.material.textfield.TextInputLayout +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.resources.BuildMeta @@ -43,9 +44,11 @@ import javax.inject.Inject /** * In this screen, the user is prompted to enter a homeserver url. */ -class LoginServerUrlFormFragment @Inject constructor( - private val buildMeta: BuildMeta, -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginServerUrlFormFragment : + AbstractLoginFragment() { + + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerUrlFormBinding { return FragmentLoginServerUrlFormBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt index aafd426335..dbcf674847 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginSignUpSignInSelectionFragment.kt @@ -22,16 +22,18 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.toReducedUrl import im.vector.app.databinding.FragmentLoginSignupSigninSelectionBinding import im.vector.app.features.login.SocialLoginButtonsView.Mode -import javax.inject.Inject /** * In this screen, the user is asked to sign up or to sign in to the homeserver. */ -class LoginSignUpSignInSelectionFragment @Inject constructor() : AbstractSSOLoginFragment() { +@AndroidEntryPoint +class LoginSignUpSignInSelectionFragment : + AbstractSSOLoginFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginSignupSigninSelectionBinding { return FragmentLoginSignupSigninSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt index 7f5e87967b..6a8de819fd 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginSplashFragment.kt @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.resources.BuildMeta import im.vector.app.databinding.FragmentLoginSplashBinding @@ -35,10 +36,12 @@ import javax.inject.Inject /** * In this screen, the user is viewing an introduction to what he can do with this application. */ -class LoginSplashFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val buildMeta: BuildMeta, -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginSplashFragment : + AbstractLoginFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginSplashBinding { return FragmentLoginSplashBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt index 07251f52a2..c13769e9e9 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginWaitForEmailFragment.kt @@ -22,11 +22,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginWaitForEmailBinding import kotlinx.parcelize.Parcelize import org.matrix.android.sdk.api.failure.is401 -import javax.inject.Inject @Parcelize data class LoginWaitForEmailFragmentArgument( @@ -36,7 +36,9 @@ data class LoginWaitForEmailFragmentArgument( /** * In this screen, the user is asked to check their emails. */ -class LoginWaitForEmailFragment @Inject constructor() : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginWaitForEmailFragment : + AbstractLoginFragment() { private val params: LoginWaitForEmailFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt b/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt index 0940eb50ee..b89018ccff 100644 --- a/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/LoginWebFragment.kt @@ -32,6 +32,7 @@ import android.webkit.WebView import android.webkit.WebViewClient import com.airbnb.mvrx.activityViewModel import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.AssetReader import im.vector.app.databinding.FragmentLoginWebBinding @@ -47,9 +48,11 @@ import javax.inject.Inject * This screen is displayed when the application does not support login flow or registration flow * of the homeserver, as a fallback to login or to create an account. */ -class LoginWebFragment @Inject constructor( - private val assetReader: AssetReader -) : AbstractLoginFragment() { +@AndroidEntryPoint +class LoginWebFragment : + AbstractLoginFragment() { + + @Inject lateinit var assetReader: AssetReader private val softLogoutViewModel: SoftLogoutViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt b/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt index ce499f290b..a7a4274876 100755 --- a/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/login/terms/LoginTermsFragment.kt @@ -42,11 +42,12 @@ data class LoginTermsFragmentArgument( /** * LoginTermsFragment displays the list of policies the user has to accept. */ -class LoginTermsFragment @Inject constructor( - private val policyController: PolicyController -) : AbstractLoginFragment(), +class LoginTermsFragment : + AbstractLoginFragment(), PolicyController.PolicyControllerListener { + @Inject lateinit var policyController: PolicyController + private val params: LoginTermsFragmentArgument by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt index 8dd9fd030a..f564802b57 100644 --- a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt +++ b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToRoomSpaceFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.ButtonStateView @@ -38,10 +39,12 @@ import org.matrix.android.sdk.api.session.room.model.Membership import org.matrix.android.sdk.api.session.room.model.RoomType import javax.inject.Inject -class MatrixToRoomSpaceFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val spaceCardRenderer: SpaceCardRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class MatrixToRoomSpaceFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var spaceCardRenderer: SpaceCardRenderer private val sharedViewModel: MatrixToBottomSheetViewModel by parentFragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt index 3792183bca..c8b18e327b 100644 --- a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt +++ b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToUserFragment.kt @@ -28,15 +28,18 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentMatrixToUserCardBinding import im.vector.app.features.home.AvatarRenderer import javax.inject.Inject -class MatrixToUserFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class MatrixToUserFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer private val sharedViewModel: MatrixToBottomSheetViewModel by parentFragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt index 9f2aadef5c..a53ca52e85 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthAccountCreatedFragment.kt @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.text.toSpannable import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.play import im.vector.app.core.di.ActiveSessionHolder @@ -34,9 +35,11 @@ import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewState import javax.inject.Inject -class FtueAuthAccountCreatedFragment @Inject constructor( - private val activeSessionHolder: ActiveSessionHolder -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthAccountCreatedFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var activeSessionHolder: ActiveSessionHolder private var hasPlayedConfetti = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt index 1f44922b3b..f170868307 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCaptchaFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.view.ViewStub import com.airbnb.mvrx.args import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.crawlCausesFor import im.vector.app.databinding.FragmentFtueLoginCaptchaBinding @@ -43,9 +44,11 @@ data class FtueAuthCaptchaFragmentArgument( /** * In this screen, the user is asked to confirm they are not a robot. */ -class FtueAuthCaptchaFragment @Inject constructor( - private val captchaWebview: CaptchaWebview -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCaptchaFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var captchaWebview: CaptchaWebview private val params: FtueAuthCaptchaFragmentArgument by args() private var webViewBinding: ViewStubWebviewBinding? = null diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt index c4b4e807ac..234a5789c1 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseDisplayNameFragment.kt @@ -22,15 +22,17 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.inputmethod.EditorInfo +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.hasContent import im.vector.app.core.platform.SimpleTextWatcher import im.vector.app.databinding.FragmentFtueDisplayNameBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewState -import javax.inject.Inject -class FtueAuthChooseDisplayNameFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthChooseDisplayNameFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueDisplayNameBinding { return FragmentFtueDisplayNameBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt index 1a673b156a..55ee7e7576 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthChooseProfilePictureFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.widget.Toast import androidx.core.view.isInvisible import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper @@ -38,11 +39,14 @@ import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.util.MatrixItem import javax.inject.Inject -class FtueAuthChooseProfilePictureFragment @Inject constructor( - private val activeSessionHolder: ActiveSessionHolder, - colorProvider: ColorProvider, - clock: Clock, -) : AbstractFtueAuthFragment(), GalleryOrCameraDialogHelper.Listener { +@AndroidEntryPoint +class FtueAuthChooseProfilePictureFragment : + AbstractFtueAuthFragment(), + GalleryOrCameraDialogHelper.Listener { + + @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock) private val avatarRenderer: AvatarRenderer by lazy { requireContext().singletonEntryPoint().avatarRenderer() } diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt index b24511b4bc..6877810f0a 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt @@ -24,6 +24,7 @@ import android.view.ViewGroup import androidx.autofill.HintConstants import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.clearErrorOnChange import im.vector.app.core.extensions.content @@ -48,10 +49,12 @@ import kotlinx.coroutines.flow.launchIn import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class FtueAuthCombinedLoginFragment @Inject constructor( - private val loginFieldsValidation: LoginFieldsValidation, - private val loginErrorParser: LoginErrorParser -) : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCombinedLoginFragment : + AbstractSSOFtueAuthFragment() { + + @Inject lateinit var loginFieldsValidation: LoginFieldsValidation + @Inject lateinit var loginErrorParser: LoginErrorParser override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueCombinedLoginBinding { return FragmentFtueCombinedLoginBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt index d06d1e8051..66668f5303 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt @@ -27,6 +27,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.clearErrorOnChange import im.vector.app.core.extensions.content @@ -60,11 +61,12 @@ import org.matrix.android.sdk.api.failure.isRegistrationDisabled import org.matrix.android.sdk.api.failure.isUsernameInUse import org.matrix.android.sdk.api.failure.isWeakPassword import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject private const val MINIMUM_PASSWORD_LENGTH = 8 -class FtueAuthCombinedRegisterFragment @Inject constructor() : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCombinedRegisterFragment : + AbstractSSOFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueCombinedRegisterBinding { return FragmentFtueCombinedRegisterBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt index 2563c1d777..abb8e4ed7d 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.clearErrorOnChange @@ -37,9 +38,10 @@ import im.vector.app.features.onboarding.OnboardingFlow import im.vector.app.features.onboarding.OnboardingViewEvents import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.failure.isHomeserverUnavailable -import javax.inject.Inject -class FtueAuthCombinedServerSelectionFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthCombinedServerSelectionFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueServerSelectionCombinedBinding { return FragmentFtueServerSelectionCombinedBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt index 5de8fce82f..4cd35c8a66 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthEmailEntryFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.autofillEmail @@ -35,9 +36,10 @@ import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState import im.vector.app.features.onboarding.RegisterAction import org.matrix.android.sdk.api.auth.registration.RegisterThreePid -import javax.inject.Inject -class FtueAuthEmailEntryFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthEmailEntryFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueEmailInputBinding { return FragmentFtueEmailInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt index edfbcd89b6..02d0c25cfd 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthGenericTextInputFormFragment.kt @@ -29,6 +29,7 @@ import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.args import com.google.i18n.phonenumbers.NumberParseException import com.google.i18n.phonenumbers.PhoneNumberUtil +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.isEmail @@ -44,7 +45,6 @@ import org.matrix.android.sdk.api.auth.registration.RegisterThreePid import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.is401 import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject @Parcelize data class FtueAuthGenericTextInputFormFragmentArgument( @@ -56,7 +56,9 @@ data class FtueAuthGenericTextInputFormFragmentArgument( /** * In this screen, the user is asked for a text input. */ -class FtueAuthGenericTextInputFormFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthGenericTextInputFormFragment : + AbstractFtueAuthFragment() { private val params: FtueAuthGenericTextInputFormFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt index b8b30529a6..0efd8390ba 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyStyleCaptchaFragment.kt @@ -20,6 +20,7 @@ import android.os.Parcelable import android.view.LayoutInflater import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentLoginCaptchaBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState @@ -35,9 +36,11 @@ data class FtueAuthLegacyStyleCaptchaFragmentArgument( /** * In this screen, the user is asked to confirm they are not a robot. */ -class FtueAuthLegacyStyleCaptchaFragment @Inject constructor( - private val captchaWebview: CaptchaWebview -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthLegacyStyleCaptchaFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var captchaWebview: CaptchaWebview private val params: FtueAuthLegacyStyleCaptchaFragmentArgument by args() private var isWebViewLoaded = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt index c815f354f0..fb468ddeb2 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLegacyWaitForEmailFragment.kt @@ -21,16 +21,18 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginWaitForEmailBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.RegisterAction -import javax.inject.Inject /** * In this screen, the user is asked to check their emails. */ -class FtueAuthLegacyWaitForEmailFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthLegacyWaitForEmailFragment : + AbstractFtueAuthFragment() { private val params: FtueAuthWaitForEmailFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt index ad159943b1..3fd8df6bb9 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthLoginFragment.kt @@ -28,6 +28,7 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -53,7 +54,6 @@ import org.matrix.android.sdk.api.failure.isRegistrationDisabled import org.matrix.android.sdk.api.failure.isUsernameInUse import org.matrix.android.sdk.api.failure.isWeakPassword import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen: @@ -63,7 +63,9 @@ import javax.inject.Inject * In signup mode: * - the user is asked for login and password */ -class FtueAuthLoginFragment @Inject constructor() : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthLoginFragment : + AbstractSSOFtueAuthFragment() { private var isSignupMode = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt index 8e88a6ed46..96cc1c3b45 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPersonalizationCompleteFragment.kt @@ -20,12 +20,14 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentFtuePersonalizationCompleteBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewEvents -import javax.inject.Inject -class FtueAuthPersonalizationCompleteFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthPersonalizationCompleteFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtuePersonalizationCompleteBinding { return FragmentFtuePersonalizationCompleteBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt index 39577efa19..af6c33c028 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneConfirmationFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.clearErrorOnChange @@ -32,14 +33,15 @@ import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.RegisterAction import kotlinx.parcelize.Parcelize import org.matrix.android.sdk.api.failure.Failure -import javax.inject.Inject @Parcelize data class FtueAuthPhoneConfirmationFragmentArgument( val msisdn: String ) : Parcelable -class FtueAuthPhoneConfirmationFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthPhoneConfirmationFragment : + AbstractFtueAuthFragment() { private val params: FtueAuthPhoneConfirmationFragmentArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt index 32291ecb6e..620dd1293c 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthPhoneEntryFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.lifecycle.lifecycleScope +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.associateContentStateWith import im.vector.app.core.extensions.autofillPhoneNumber @@ -38,9 +39,11 @@ import org.matrix.android.sdk.api.auth.registration.RegisterThreePid import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class FtueAuthPhoneEntryFragment @Inject constructor( - private val phoneNumberParser: PhoneNumberParser -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthPhoneEntryFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var phoneNumberParser: PhoneNumberParser override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtuePhoneInputBinding { return FragmentFtuePhoneInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt index 721423ecdf..0daf1b3c6f 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordBreakerFragment.kt @@ -39,7 +39,8 @@ data class FtueAuthResetPasswordBreakerArgument( ) : Parcelable @AndroidEntryPoint -class FtueAuthResetPasswordBreakerFragment : AbstractFtueAuthFragment() { +class FtueAuthResetPasswordBreakerFragment : + AbstractFtueAuthFragment() { @Inject lateinit var themeProvider: ThemeProvider private val params: FtueAuthResetPasswordBreakerArgument by args() diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt index 5fa1a8ed82..51c73a40e3 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEmailEntryFragment.kt @@ -33,7 +33,8 @@ import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState @AndroidEntryPoint -class FtueAuthResetPasswordEmailEntryFragment : AbstractFtueAuthFragment() { +class FtueAuthResetPasswordEmailEntryFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueResetPasswordEmailInputBinding { return FragmentFtueResetPasswordEmailInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt index 61826352bf..0b0e06a0b0 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordEntryFragment.kt @@ -34,7 +34,8 @@ import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.failure.isMissingEmailVerification @AndroidEntryPoint -class FtueAuthResetPasswordEntryFragment : AbstractFtueAuthFragment() { +class FtueAuthResetPasswordEntryFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueResetPasswordInputBinding { return FragmentFtueResetPasswordInputBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt index 9bef084750..376218d474 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.hidePassword @@ -35,12 +36,13 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.widget.textChanges -import javax.inject.Inject /** * In this screen, the user is asked for email and new password to reset his password. */ -class FtueAuthResetPasswordFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthResetPasswordFragment : + AbstractFtueAuthFragment() { // Show warning only once private var showWarning = true diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt index 76fbae6f40..301ed4fd8b 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordMailConfirmationFragment.kt @@ -21,17 +21,19 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.databinding.FragmentLoginResetPasswordMailConfirmationBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState import org.matrix.android.sdk.api.failure.is401 -import javax.inject.Inject /** * In this screen, the user is asked to check their email and to click on a button once it's done. */ -class FtueAuthResetPasswordMailConfirmationFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthResetPasswordMailConfirmationFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordMailConfirmationBinding { return FragmentLoginResetPasswordMailConfirmationBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt index 956566a587..3e9881ec56 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthResetPasswordSuccessFragment.kt @@ -20,15 +20,17 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.databinding.FragmentLoginResetPasswordSuccessBinding import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewEvents -import javax.inject.Inject /** * In this screen, we confirm to the user that his password has been reset. */ -class FtueAuthResetPasswordSuccessFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthResetPasswordSuccessFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginResetPasswordSuccessBinding { return FragmentLoginResetPasswordSuccessBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt index d4396d81d2..9977152b5a 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerSelectionFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.openUrlInChromeCustomTab import im.vector.app.databinding.FragmentLoginServerSelectionBinding @@ -29,12 +30,13 @@ import im.vector.app.features.login.SignMode import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState import me.gujun.android.span.span -import javax.inject.Inject /** * In this screen, the user will choose between matrix.org, modular or other type of homeserver. */ -class FtueAuthServerSelectionFragment @Inject constructor() : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthServerSelectionFragment : + AbstractFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerSelectionBinding { return FragmentLoginServerSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt index b16ad3ee93..91f176edf5 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthServerUrlFormFragment.kt @@ -27,6 +27,7 @@ import androidx.core.view.isInvisible import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import com.google.android.material.textfield.TextInputLayout +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.resources.BuildMeta @@ -47,9 +48,11 @@ import javax.inject.Inject /** * In this screen, the user is prompted to enter a homeserver url. */ -class FtueAuthServerUrlFormFragment @Inject constructor( - private val buildMeta: BuildMeta, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthServerUrlFormFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginServerUrlFormBinding { return FragmentLoginServerUrlFormBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt index dc4c6d8a34..b2f2eeb167 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSignUpSignInSelectionFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.annotation.DrawableRes import androidx.core.view.isVisible import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.toReducedUrl import im.vector.app.databinding.FragmentLoginSignupSigninSelectionBinding @@ -34,12 +35,13 @@ import im.vector.app.features.login.SocialLoginButtonsView.Mode import im.vector.app.features.login.render import im.vector.app.features.onboarding.OnboardingAction import im.vector.app.features.onboarding.OnboardingViewState -import javax.inject.Inject /** * In this screen, the user is asked to sign up or to sign in to the homeserver. */ -class FtueAuthSignUpSignInSelectionFragment @Inject constructor() : AbstractSSOFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthSignUpSignInSelectionFragment : + AbstractSSOFtueAuthFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginSignupSigninSelectionBinding { return FragmentLoginSignupSigninSelectionBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt index 0333f6047b..f41bb4f547 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt @@ -27,6 +27,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.lifecycleScope import androidx.viewpager2.widget.ViewPager2 import com.google.android.material.tabs.TabLayoutMediator +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.incrementByOneAndWrap import im.vector.app.core.extensions.setCurrentItem @@ -44,13 +45,15 @@ import javax.inject.Inject private const val CAROUSEL_ROTATION_DELAY_MS = 5000L private const val CAROUSEL_TRANSITION_TIME_MS = 500L -class FtueAuthSplashCarouselFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val vectorFeatures: VectorFeatures, - private val carouselController: SplashCarouselController, - private val carouselStateFactory: SplashCarouselStateFactory, - private val buildMeta: BuildMeta, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthSplashCarouselFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var vectorFeatures: VectorFeatures + @Inject lateinit var carouselController: SplashCarouselController + @Inject lateinit var carouselStateFactory: SplashCarouselStateFactory + @Inject lateinit var buildMeta: BuildMeta private var tabLayoutMediator: TabLayoutMediator? = null diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt index a04e8a5c01..b62e72daee 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.view.isVisible +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.resources.BuildMeta import im.vector.app.databinding.FragmentFtueAuthSplashBinding @@ -34,11 +35,13 @@ import javax.inject.Inject /** * In this screen, the user is viewing an introduction to what he can do with this application. */ -class FtueAuthSplashFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val vectorFeatures: VectorFeatures, - private val buildMeta: BuildMeta, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthSplashFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var vectorFeatures: VectorFeatures + @Inject lateinit var buildMeta: BuildMeta override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueAuthSplashBinding { return FragmentFtueAuthSplashBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt index 289aa811d6..da8aac1d54 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthUseCaseFragment.kt @@ -29,6 +29,7 @@ import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.core.content.ContextCompat import androidx.core.view.isGone +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.getResTintedDrawable import im.vector.app.core.extensions.getTintedDrawable @@ -45,10 +46,12 @@ import javax.inject.Inject private const val DARK_MODE_ICON_BACKGROUND_ALPHA = 0.30f private const val LIGHT_MODE_ICON_BACKGROUND_ALPHA = 0.15f -class FtueAuthUseCaseFragment @Inject constructor( - private val themeProvider: ThemeProvider, - private val vectorFeatures: VectorFeatures, -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthUseCaseFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var themeProvider: ThemeProvider + @Inject lateinit var vectorFeatures: VectorFeatures override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueAuthUseCaseBinding { return FragmentFtueAuthUseCaseBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt index eb00dc3e21..ddd662be86 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.isInvisible import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.colorTerminatingFullStop import im.vector.app.databinding.FragmentFtueWaitForEmailVerificationBinding @@ -42,9 +43,11 @@ data class FtueAuthWaitForEmailFragmentArgument( /** * In this screen, the user is asked to check their emails. */ -class FtueAuthWaitForEmailFragment @Inject constructor( - private val themeProvider: ThemeProvider -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthWaitForEmailFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var themeProvider: ThemeProvider private val params: FtueAuthWaitForEmailFragmentArgument by args() private var inferHasLeftAndReturnedToScreen = false diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt index 9e32ec263c..62a89e437b 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWebFragment.kt @@ -31,6 +31,7 @@ import android.webkit.SslErrorHandler import android.webkit.WebView import android.webkit.WebViewClient import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.utils.AssetReader import im.vector.app.databinding.FragmentLoginWebBinding @@ -49,9 +50,11 @@ import javax.inject.Inject * This screen is displayed when the application does not support login flow or registration flow * of the homeserver, as a fallback to login or to create an account. */ -class FtueAuthWebFragment @Inject constructor( - private val assetReader: AssetReader -) : AbstractFtueAuthFragment() { +@AndroidEntryPoint +class FtueAuthWebFragment : + AbstractFtueAuthFragment() { + + @Inject lateinit var assetReader: AssetReader override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginWebBinding { return FragmentLoginWebBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt index af38062663..1b5c1adc74 100755 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthLegacyStyleTermsFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.toReducedUrl @@ -46,11 +47,13 @@ data class FtueAuthTermsLegacyStyleFragmentArgument( /** * LoginTermsFragment displays the list of policies the user has to accept. */ -class FtueAuthLegacyStyleTermsFragment @Inject constructor( - private val policyController: PolicyController -) : AbstractFtueAuthFragment(), +@AndroidEntryPoint +class FtueAuthLegacyStyleTermsFragment : + AbstractFtueAuthFragment(), PolicyController.PolicyControllerListener { + @Inject lateinit var policyController: PolicyController + private val params: FtueAuthTermsLegacyStyleFragmentArgument by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLoginTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt index 371c618d54..e9b32a1c7f 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/terms/FtueAuthTermsFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.doOnLayout import com.airbnb.mvrx.args +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,11 +44,13 @@ import kotlin.math.roundToInt /** * LoginTermsFragment displays the list of policies the user has to accept. */ -class FtueAuthTermsFragment @Inject constructor( - private val policyController: PolicyController -) : AbstractFtueAuthFragment(), +@AndroidEntryPoint +class FtueAuthTermsFragment : + AbstractFtueAuthFragment(), PolicyController.PolicyControllerListener { + @Inject lateinit var policyController: PolicyController + private val params: FtueAuthTermsLegacyStyleFragmentArgument by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueLoginTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt b/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt index 1688452167..3a3a0e66fd 100644 --- a/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt +++ b/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt @@ -26,6 +26,7 @@ import android.widget.Toast import com.airbnb.mvrx.args import com.airbnb.mvrx.asMavericksArgs import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.replaceFragment import im.vector.app.core.platform.VectorBaseFragment @@ -49,11 +50,13 @@ data class PinArgs( val pinMode: PinMode ) : Parcelable -class PinFragment @Inject constructor( - private val pinCodeStore: PinCodeStore, - private val vectorPreferences: VectorPreferences, - private val defaultConfiguration: LockScreenConfiguration, -) : VectorBaseFragment() { +@AndroidEntryPoint +class PinFragment : + VectorBaseFragment() { + + @Inject lateinit var pinCodeStore: PinCodeStore + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var defaultConfiguration: LockScreenConfiguration private val fragmentArgs: PinArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt b/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt index a7a228a105..8e9fdf4fae 100644 --- a/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt +++ b/vector/src/main/java/im/vector/app/features/pin/lockscreen/ui/LockScreenFragment.kt @@ -35,7 +35,8 @@ import im.vector.app.features.pin.lockscreen.configuration.LockScreenMode import im.vector.app.features.pin.lockscreen.views.LockScreenCodeView @AndroidEntryPoint -class LockScreenFragment : VectorBaseFragment() { +class LockScreenFragment : + VectorBaseFragment() { var lockScreenListener: LockScreenListener? = null var onLeftButtonClickedListener: View.OnClickListener? = null diff --git a/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt b/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt index 0feef3b5e5..848b27009b 100644 --- a/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt +++ b/vector/src/main/java/im/vector/app/features/poll/create/CreatePollFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.args import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -42,9 +43,12 @@ data class CreatePollArgs( val mode: PollMode ) : Parcelable -class CreatePollFragment @Inject constructor( - private val controller: CreatePollController -) : VectorBaseFragment(), CreatePollController.Callback { +@AndroidEntryPoint +class CreatePollFragment : + VectorBaseFragment(), + CreatePollController.Callback { + + @Inject lateinit var controller: CreatePollController private val viewModel: CreatePollViewModel by activityViewModel() private val args: CreatePollArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt b/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt index 9dc7fa6548..c2b81abf12 100644 --- a/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/qrcode/QrCodeScannerFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.google.zxing.BarcodeFormat import com.google.zxing.Result import com.google.zxing.ResultMetadataType +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.hideKeyboard import im.vector.app.core.extensions.registerStartForActivityResult @@ -45,7 +46,6 @@ import im.vector.lib.multipicker.utils.ImageUtils import kotlinx.parcelize.Parcelize import me.dm7.barcodescanner.zxing.ZXingScannerView import org.matrix.android.sdk.api.extensions.tryOrNull -import javax.inject.Inject @Parcelize data class QrScannerArgs( @@ -53,7 +53,10 @@ data class QrScannerArgs( @StringRes val titleRes: Int ) : Parcelable -class QrCodeScannerFragment @Inject constructor() : VectorBaseFragment(), ZXingScannerView.ResultHandler { +@AndroidEntryPoint +class QrCodeScannerFragment : + VectorBaseFragment(), + ZXingScannerView.ResultHandler { private val qrViewModel: QrCodeScannerViewModel by activityViewModel() private val scannerArgs: QrScannerArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt b/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt index bcc18a995a..24065645ea 100644 --- a/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt +++ b/vector/src/main/java/im/vector/app/features/reactions/EmojiChooserFragment.kt @@ -20,17 +20,20 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.lifecycle.lifecycleScope +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.EmojiChooserFragmentBinding import javax.inject.Inject -class EmojiChooserFragment @Inject constructor( - private val emojiRecyclerAdapter: EmojiRecyclerAdapter -) : VectorBaseFragment(), +@AndroidEntryPoint +class EmojiChooserFragment : + VectorBaseFragment(), EmojiRecyclerAdapter.InteractionListener, ReactionClickListener { + @Inject lateinit var emojiRecyclerAdapter: EmojiRecyclerAdapter + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): EmojiChooserFragmentBinding { return EmojiChooserFragmentBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt b/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt index 9292ad8fc6..3a448185ac 100644 --- a/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt +++ b/vector/src/main/java/im/vector/app/features/reactions/EmojiSearchResultFragment.kt @@ -21,6 +21,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,12 @@ import im.vector.app.core.utils.LiveEvent import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class EmojiSearchResultFragment @Inject constructor( - private val epoxyController: EmojiSearchResultController -) : VectorBaseFragment(), ReactionClickListener { +@AndroidEntryPoint +class EmojiSearchResultFragment : + VectorBaseFragment(), + ReactionClickListener { + + @Inject lateinit var epoxyController: EmojiSearchResultController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt index e16e1ec313..847c675c5e 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomsFragment.kt @@ -25,6 +25,7 @@ import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -51,14 +52,16 @@ import javax.inject.Inject * What can be improved: * - When filtering more (when entering new chars), we could filter on result we already have, during the new server request, to avoid empty screen effect. */ -class PublicRoomsFragment @Inject constructor( - private val publicRoomsController: PublicRoomsController, - private val permalinkHandler: PermalinkHandler, - private val session: Session -) : VectorBaseFragment(), +@AndroidEntryPoint +class PublicRoomsFragment : + VectorBaseFragment(), PublicRoomsController.Callback, VectorMenuProvider { + @Inject lateinit var publicRoomsController: PublicRoomsController + @Inject lateinit var permalinkHandler: PermalinkHandler + @Inject lateinit var session: Session + private val viewModel: RoomDirectoryViewModel by activityViewModel() private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt index 649ba8fd13..34fffeb118 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/createroom/CreateRoomFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.cleanup @@ -61,16 +62,18 @@ data class CreateRoomArgs( val openAfterCreate: Boolean = true ) : Parcelable -class CreateRoomFragment @Inject constructor( - private val createRoomController: CreateRoomController, - private val createSpaceController: CreateSubSpaceController, - colorProvider: ColorProvider, - clock: Clock, -) : VectorBaseFragment(), +@AndroidEntryPoint +class CreateRoomFragment : + VectorBaseFragment(), CreateRoomController.Listener, GalleryOrCameraDialogHelper.Listener, OnBackPressed { + @Inject lateinit var createRoomController: CreateRoomController + @Inject lateinit var createSpaceController: CreateSubSpaceController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel private val viewModel: CreateRoomViewModel by fragmentViewModel() private val args: CreateRoomArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt index 66e09bb2d4..32be4e076f 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,12 +40,14 @@ import im.vector.app.features.roomdirectory.RoomDirectoryViewModel import timber.log.Timber import javax.inject.Inject -class RoomDirectoryPickerFragment @Inject constructor( - private val roomDirectoryPickerController: RoomDirectoryPickerController -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomDirectoryPickerFragment : + VectorBaseFragment(), OnBackPressed, RoomDirectoryPickerController.Callback { + @Inject lateinit var roomDirectoryPickerController: RoomDirectoryPickerController + private val viewModel: RoomDirectoryViewModel by activityViewModel() private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel private val pickerViewModel: RoomDirectoryPickerViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt index 826dea0c3b..7c639dde99 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.ButtonStateView @@ -52,9 +53,11 @@ import javax.inject.Inject /** * Note: this Fragment is also used for world readable room for the moment. */ -class RoomPreviewNoPreviewFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class RoomPreviewNoPreviewFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer private val roomPreviewViewModel: RoomPreviewViewModel by fragmentViewModel() private val roomPreviewData: RoomPreviewData by args() diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt index 686c87a18c..2894cd4621 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.AppBarStateChangeListener import im.vector.app.core.animations.MatrixItemAppBarStateChangeListener @@ -69,15 +70,17 @@ data class RoomMemberProfileArgs( val roomId: String? = null ) : Parcelable -class RoomMemberProfileFragment @Inject constructor( - private val roomMemberProfileController: RoomMemberProfileController, - private val avatarRenderer: AvatarRenderer, - private val roomDetailPendingActionStore: RoomDetailPendingActionStore, - private val matrixItemColorProvider: MatrixItemColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomMemberProfileFragment : + VectorBaseFragment(), RoomMemberProfileController.Callback, VectorMenuProvider { + @Inject lateinit var roomMemberProfileController: RoomMemberProfileController + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var roomDetailPendingActionStore: RoomDetailPendingActionStore + @Inject lateinit var matrixItemColorProvider: MatrixItemColorProvider + private lateinit var headerViews: ViewStubRoomMemberProfileHeaderBinding private val fragmentArgs: RoomMemberProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt index 48a8a819bc..7ca32bb49b 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,12 +31,14 @@ import im.vector.app.databinding.BottomSheetGenericListBinding import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo import javax.inject.Inject -class DeviceListFragment @Inject constructor( - val dimensionConverter: DimensionConverter, - val epoxyController: DeviceListEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class DeviceListFragment : + VectorBaseFragment(), DeviceListEpoxyController.InteractionListener { + @Inject lateinit var dimensionConverter: DimensionConverter + @Inject lateinit var epoxyController: DeviceListEpoxyController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetGenericListBinding { return BottomSheetGenericListBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt index a733197372..d8abd91091 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoActionFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment @@ -30,12 +31,14 @@ import im.vector.app.databinding.BottomSheetGenericListBinding import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo import javax.inject.Inject -class DeviceTrustInfoActionFragment @Inject constructor( - val dimensionConverter: DimensionConverter, - val epoxyController: DeviceTrustInfoEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class DeviceTrustInfoActionFragment : + VectorBaseFragment(), DeviceTrustInfoEpoxyController.InteractionListener { + @Inject lateinit var dimensionConverter: DimensionConverter + @Inject lateinit var epoxyController: DeviceTrustInfoEpoxyController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetGenericListBinding { return BottomSheetGenericListBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt index 1830cc04e8..4135ab3d1c 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt @@ -31,6 +31,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.animations.AppBarStateChangeListener import im.vector.app.core.animations.MatrixItemAppBarStateChangeListener @@ -65,15 +66,16 @@ data class RoomProfileArgs( val roomId: String ) : Parcelable -class RoomProfileFragment @Inject constructor( - private val roomProfileController: RoomProfileController, - private val avatarRenderer: AvatarRenderer, - private val roomDetailPendingActionStore: RoomDetailPendingActionStore, -) : +@AndroidEntryPoint +class RoomProfileFragment : VectorBaseFragment(), RoomProfileController.Callback, VectorMenuProvider { + @Inject lateinit var roomProfileController: RoomProfileController + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var roomDetailPendingActionStore: RoomDetailPendingActionStore + private lateinit var headerViews: ViewStubRoomProfileHeaderBinding private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt index 49f658861b..b9b0f604c7 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasFragment.kt @@ -26,6 +26,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -46,13 +47,14 @@ import org.matrix.android.sdk.api.session.room.model.RoomDirectoryVisibility import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomAliasFragment @Inject constructor( - private val controller: RoomAliasController, - private val avatarRenderer: AvatarRenderer -) : +@AndroidEntryPoint +class RoomAliasFragment : VectorBaseFragment(), RoomAliasController.Callback { + @Inject lateinit var controller: RoomAliasController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomAliasViewModel by fragmentViewModel() private lateinit var sharedActionViewModel: RoomAliasBottomSheetSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt index 8063212ba1..a8e34d0117 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/banned/RoomBannedMemberListFragment.kt @@ -26,6 +26,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,12 +39,14 @@ import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomBannedMemberListFragment @Inject constructor( - private val roomMemberListController: RoomBannedMemberListController, - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomBannedMemberListFragment : + VectorBaseFragment(), RoomBannedMemberListController.Callback { + @Inject lateinit var roomMemberListController: RoomBannedMemberListController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomBannedMemberListViewModel by fragmentViewModel() private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt index 52a2339f13..259fde1635 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/members/RoomMemberListFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,12 +44,14 @@ import org.matrix.android.sdk.api.session.room.model.RoomThirdPartyInviteContent import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomMemberListFragment @Inject constructor( - private val roomMemberListController: RoomMemberListController, - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomMemberListFragment : + VectorBaseFragment(), RoomMemberListController.Callback { + @Inject lateinit var roomMemberListController: RoomMemberListController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomMemberListViewModel by fragmentViewModel() private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt index 1bf392d9f8..7afd696332 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/notifications/RoomNotificationSettingsFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -35,13 +36,15 @@ import org.matrix.android.sdk.api.session.room.notification.RoomNotificationStat import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomNotificationSettingsFragment @Inject constructor( - val viewModelFactory: RoomNotificationSettingsViewModel.Factory, - private val roomNotificationSettingsController: RoomNotificationSettingsController, - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomNotificationSettingsFragment : + VectorBaseFragment(), RoomNotificationSettingsController.Callback { + @Inject lateinit var viewModelFactory: RoomNotificationSettingsViewModel.Factory + @Inject lateinit var roomNotificationSettingsController: RoomNotificationSettingsController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomNotificationSettingsViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentRoomSettingGenericBinding { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt index dc42310c16..06b9343dbf 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/permissions/RoomPermissionsFragment.kt @@ -24,6 +24,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,13 +39,14 @@ import org.matrix.android.sdk.api.session.room.powerlevels.Role import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomPermissionsFragment @Inject constructor( - private val controller: RoomPermissionsController, - private val avatarRenderer: AvatarRenderer -) : +@AndroidEntryPoint +class RoomPermissionsFragment : VectorBaseFragment(), RoomPermissionsController.Callback { + @Inject lateinit var controller: RoomPermissionsController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomPermissionsViewModel by fragmentViewModel() private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt index 45c8461fa7..3a4dccc71e 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.cleanup @@ -56,18 +57,19 @@ import org.matrix.android.sdk.api.util.toMatrixItem import java.util.UUID import javax.inject.Inject -class RoomSettingsFragment @Inject constructor( - private val controller: RoomSettingsController, - colorProvider: ColorProvider, - private val avatarRenderer: AvatarRenderer, - clock: Clock, -) : +@AndroidEntryPoint +class RoomSettingsFragment : VectorBaseFragment(), RoomSettingsController.Callback, OnBackPressed, GalleryOrCameraDialogHelper.Listener, VectorMenuProvider { + @Inject lateinit var controller: RoomSettingsController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var clock: Clock + private val viewModel: RoomSettingsViewModel by fragmentViewModel() private lateinit var roomProfileSharedActionViewModel: RoomProfileSharedActionViewModel private lateinit var roomHistoryVisibilitySharedActionViewModel: RoomHistoryVisibilitySharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt index 4e42cce3ee..1c4f93f49a 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/RoomJoinRuleFragment.kt @@ -25,6 +25,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -37,11 +38,14 @@ import im.vector.app.features.roomprofile.settings.joinrule.advanced.RoomJoinRul import org.matrix.android.sdk.api.session.room.model.RoomJoinRules import javax.inject.Inject -class RoomJoinRuleFragment @Inject constructor( - val controller: RoomJoinRuleAdvancedController, - val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), - OnBackPressed, RoomJoinRuleAdvancedController.InteractionListener { +@AndroidEntryPoint +class RoomJoinRuleFragment : + VectorBaseFragment(), + OnBackPressed, + RoomJoinRuleAdvancedController.InteractionListener { + + @Inject lateinit var controller: RoomJoinRuleAdvancedController + @Inject lateinit var avatarRenderer: AvatarRenderer private val viewModel: RoomJoinRuleChooseRestrictedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt index b65e90aeed..462f3be1c3 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/settings/joinrule/advanced/RoomJoinRuleChooseRestrictedFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.lifecycle.lifecycleScope import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.OnBackPressed @@ -36,13 +37,15 @@ import org.matrix.android.sdk.api.util.MatrixItem import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class RoomJoinRuleChooseRestrictedFragment @Inject constructor( - val controller: ChooseRestrictedController, - val avatarRenderer: AvatarRenderer -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomJoinRuleChooseRestrictedFragment : + VectorBaseFragment(), ChooseRestrictedController.Listener, OnBackPressed { + @Inject lateinit var controller: ChooseRestrictedController + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomJoinRuleChooseRestrictedViewModel by activityViewModel(RoomJoinRuleChooseRestrictedViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt index 3ecbcb5e00..d982ab3e32 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/RoomUploadsFragment.kt @@ -27,6 +27,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.appbar.AppBarLayout import com.google.android.material.tabs.TabLayoutMediator +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.intent.getMimeTypeFromUri import im.vector.app.core.platform.VectorBaseFragment @@ -42,11 +43,13 @@ import kotlinx.coroutines.launch import org.matrix.android.sdk.api.util.toMatrixItem import javax.inject.Inject -class RoomUploadsFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val notificationUtils: NotificationUtils, - private val clock: Clock, -) : VectorBaseFragment() { +@AndroidEntryPoint +class RoomUploadsFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var notificationUtils: NotificationUtils + @Inject lateinit var clock: Clock private val roomProfileArgs: RoomProfileArgs by args() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt index 5bb81424cf..e7ee47020a 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt @@ -26,6 +26,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.Success import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,12 +39,14 @@ import im.vector.app.features.roomprofile.uploads.RoomUploadsViewModel import org.matrix.android.sdk.api.session.room.uploads.UploadEvent import javax.inject.Inject -class RoomUploadsFilesFragment @Inject constructor( - private val controller: UploadsFileController -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomUploadsFilesFragment : + VectorBaseFragment(), UploadsFileController.Listener, StateView.EventCallback { + @Inject lateinit var controller: UploadsFileController + private val uploadsViewModel by parentFragmentViewModel(RoomUploadsViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericStateViewRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt index c6dd3c63c1..f53f572e38 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.parentFragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.appbar.AppBarLayout +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.trackItemsVisibilityChange @@ -53,13 +54,15 @@ import org.matrix.android.sdk.api.session.room.model.message.getFileUrl import org.matrix.android.sdk.api.session.room.model.message.getThumbnailUrl import javax.inject.Inject -class RoomUploadsMediaFragment @Inject constructor( - private val controller: UploadsMediaController, - private val dimensionConverter: DimensionConverter -) : VectorBaseFragment(), +@AndroidEntryPoint +class RoomUploadsMediaFragment : + VectorBaseFragment(), UploadsMediaController.Listener, StateView.EventCallback { + @Inject lateinit var controller: UploadsMediaController + @Inject lateinit var dimensionConverter: DimensionConverter + private val uploadsViewModel by parentFragmentViewModel(RoomUploadsViewModel::class) override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericStateViewRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt index e54bc4e624..9c08d446f4 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt @@ -19,15 +19,17 @@ package im.vector.app.features.settings import android.os.Bundle import androidx.preference.Preference import androidx.preference.SeekBarPreference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.preference.VectorPreferenceCategory import im.vector.app.core.preference.VectorSwitchPreference import im.vector.app.features.analytics.plan.MobileScreen import im.vector.app.features.rageshake.RageShake -import javax.inject.Inject -class VectorSettingsAdvancedSettingsFragment @Inject constructor() : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsAdvancedSettingsFragment : + VectorSettingsBaseFragment() { override var titleRes = R.string.settings_advanced_settings override val preferenceXmlRes = R.xml.vector_settings_advanced_settings diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt index 7906de3796..46f7a7c74e 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt @@ -34,6 +34,7 @@ import androidx.preference.SwitchPreference import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.cache.DiskCache import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.hideKeyboard @@ -74,13 +75,14 @@ import java.io.File import java.util.UUID import javax.inject.Inject -class VectorSettingsGeneralFragment @Inject constructor( - colorProvider: ColorProvider, - clock: Clock, -) : +@AndroidEntryPoint +class VectorSettingsGeneralFragment : VectorSettingsBaseFragment(), GalleryOrCameraDialogHelper.Listener { + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + override var titleRes = R.string.settings_general_title override val preferenceXmlRes = R.xml.vector_settings_general diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt index df7baa7397..8c7afaabc0 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsHelpAboutFragment.kt @@ -18,6 +18,7 @@ package im.vector.app.features.settings import android.os.Bundle import androidx.preference.Preference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.orEmpty import im.vector.app.core.preference.VectorPreference @@ -31,10 +32,12 @@ import im.vector.app.features.version.VersionProvider import org.matrix.android.sdk.api.Matrix import javax.inject.Inject -class VectorSettingsHelpAboutFragment @Inject constructor( - private val versionProvider: VersionProvider, - private val buildMeta: BuildMeta, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsHelpAboutFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var versionProvider: VersionProvider + @Inject lateinit var buildMeta: BuildMeta override var titleRes = R.string.preference_root_help_about override val preferenceXmlRes = R.xml.vector_settings_help_about diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt index 70908d7560..eb7864a89d 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt @@ -22,6 +22,7 @@ import android.widget.TextView import androidx.preference.Preference import androidx.preference.SwitchPreference import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.preference.VectorSwitchPreference import im.vector.app.features.MainActivity @@ -31,11 +32,13 @@ import im.vector.app.features.home.room.threads.ThreadsManager import org.matrix.android.sdk.api.settings.LightweightSettingsStorage import javax.inject.Inject -class VectorSettingsLabsFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val lightweightSettingsStorage: LightweightSettingsStorage, - private val threadsManager: ThreadsManager -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsLabsFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var lightweightSettingsStorage: LightweightSettingsStorage + @Inject lateinit var threadsManager: ThreadsManager override var titleRes = R.string.room_settings_labs_pref_title override val preferenceXmlRes = R.xml.vector_settings_labs diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt index db402758f1..f3f013f2c7 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPinFragment.kt @@ -19,6 +19,7 @@ package im.vector.app.features.settings import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import androidx.preference.SwitchPreference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.preference.VectorPreference @@ -36,13 +37,15 @@ import org.matrix.android.sdk.api.extensions.orFalse import timber.log.Timber import javax.inject.Inject -class VectorSettingsPinFragment @Inject constructor( - private val pinCodeStore: PinCodeStore, - private val navigator: Navigator, - private val notificationDrawerManager: NotificationDrawerManager, - biometricHelperFactory: BiometricHelper.BiometricHelperFactory, - defaultLockScreenConfiguration: LockScreenConfiguration, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsPinFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var pinCodeStore: PinCodeStore + @Inject lateinit var navigator: Navigator + @Inject lateinit var notificationDrawerManager: NotificationDrawerManager + @Inject lateinit var biometricHelperFactory: BiometricHelper.BiometricHelperFactory + @Inject lateinit var defaultLockScreenConfiguration: LockScreenConfiguration override var titleRes = R.string.settings_security_application_protection_screen_title override val preferenceXmlRes = R.xml.vector_settings_pin diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt index ac7d29ab7a..0bd5316b8f 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt @@ -22,6 +22,7 @@ import android.os.Bundle import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.PhotoOrVideoDialog import im.vector.app.core.extensions.restart @@ -37,10 +38,12 @@ import kotlinx.coroutines.launch import org.matrix.android.sdk.api.session.presence.model.PresenceEnum import javax.inject.Inject -class VectorSettingsPreferencesFragment @Inject constructor( - private val vectorPreferences: VectorPreferences, - private val fontScalePreferences: FontScalePreferences, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsPreferencesFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var fontScalePreferences: FontScalePreferences override var titleRes = R.string.settings_preferences override val preferenceXmlRes = R.xml.vector_settings_preferences diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt index 51011e29a2..0b3dcfa2ac 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsRootFragment.kt @@ -17,12 +17,14 @@ package im.vector.app.features.settings import android.os.Bundle +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.preference.VectorPreference import im.vector.app.features.analytics.plan.MobileScreen -import javax.inject.Inject -class VectorSettingsRootFragment @Inject constructor() : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsRootFragment : + VectorSettingsBaseFragment() { override var titleRes: Int = R.string.title_activity_settings override val preferenceXmlRes = R.xml.vector_settings_root diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt index b6fbddd3ce..2b4d376f55 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt @@ -34,6 +34,7 @@ import androidx.preference.SwitchPreference import androidx.recyclerview.widget.RecyclerView import com.airbnb.mvrx.fragmentViewModel import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.dialogs.ExportKeysDialog @@ -79,16 +80,18 @@ import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo import org.matrix.android.sdk.api.session.crypto.model.DevicesListResponse import javax.inject.Inject -class VectorSettingsSecurityPrivacyFragment @Inject constructor( - private val activeSessionHolder: ActiveSessionHolder, - private val pinCodeStore: PinCodeStore, - private val keysExporter: KeysExporter, - private val keysImporter: KeysImporter, - private val rawService: RawService, - private val navigator: Navigator, - private val analyticsConfig: AnalyticsConfig, - private val vectorFeatures: VectorFeatures, -) : VectorSettingsBaseFragment() { +@AndroidEntryPoint +class VectorSettingsSecurityPrivacyFragment : + VectorSettingsBaseFragment() { + + @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var pinCodeStore: PinCodeStore + @Inject lateinit var keysExporter: KeysExporter + @Inject lateinit var keysImporter: KeysImporter + @Inject lateinit var rawService: RawService + @Inject lateinit var navigator: Navigator + @Inject lateinit var analyticsConfig: AnalyticsConfig + @Inject lateinit var vectorFeatures: VectorFeatures override var titleRes = R.string.settings_security_and_privacy override val preferenceXmlRes = R.xml.vector_settings_security_privacy diff --git a/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt b/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt index 7ccae3665d..c9a43c5e31 100644 --- a/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/account/deactivation/DeactivateAccountFragment.kt @@ -24,6 +24,7 @@ import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.VectorBaseFragment @@ -35,9 +36,10 @@ import im.vector.app.features.auth.ReAuthActivity import im.vector.app.features.settings.VectorSettingsActivity import org.matrix.android.sdk.api.auth.data.LoginFlowTypes import org.matrix.android.sdk.api.session.uia.exceptions.UiaCancelledException -import javax.inject.Inject -class DeactivateAccountFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class DeactivateAccountFragment : + VectorBaseFragment() { private val viewModel: DeactivateAccountViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt index 8fcda3219e..c0cefc9bcf 100644 --- a/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/crosssigning/CrossSigningSettingsFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,11 +40,13 @@ import javax.inject.Inject /** * This Fragment is only used when user activates developer mode from the settings. */ -class CrossSigningSettingsFragment @Inject constructor( - private val controller: CrossSigningSettingsController, -) : VectorBaseFragment(), +@AndroidEntryPoint +class CrossSigningSettingsFragment : + VectorBaseFragment(), CrossSigningSettingsController.InteractionListener { + @Inject lateinit var controller: CrossSigningSettingsController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt index a132dc1f49..2d82e48aac 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.ManuallyVerifyDialog import im.vector.app.core.extensions.cleanup @@ -46,11 +47,13 @@ import javax.inject.Inject /** * Display the list of the user's device. */ -class VectorSettingsDevicesFragment @Inject constructor( - private val devicesController: DevicesController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VectorSettingsDevicesFragment : + VectorBaseFragment(), DevicesController.Callback { + @Inject lateinit var devicesController: DevicesController + // used to avoid requesting to enter the password for each deletion // Note: Sonar does not like to use password for member name. // private var mAccountPass: String = "" diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt index 4e02ef9577..a5281d1b5c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt @@ -32,7 +32,8 @@ import im.vector.app.databinding.FragmentSettingsDevicesBinding * Display the list of the user's devices and sessions. */ @AndroidEntryPoint -class VectorSettingsDevicesFragment : VectorBaseFragment() { +class VectorSettingsDevicesFragment : + VectorBaseFragment() { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsDevicesBinding { return FragmentSettingsDevicesBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt index 740ef3996a..2f8dd84ddd 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt @@ -24,6 +24,7 @@ import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -36,12 +37,14 @@ import org.matrix.android.sdk.api.session.accountdata.UserAccountDataEvent import org.matrix.android.sdk.api.util.MatrixJsonParser import javax.inject.Inject -class AccountDataFragment @Inject constructor( - private val epoxyController: AccountDataEpoxyController, - private val colorProvider: ColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class AccountDataFragment : + VectorBaseFragment(), AccountDataEpoxyController.InteractionListener { + @Inject lateinit var epoxyController: AccountDataEpoxyController + @Inject lateinit var colorProvider: ColorProvider + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt index ec4ef26001..9dfcd1b15c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt @@ -22,21 +22,22 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.VectorBaseFragment -import im.vector.app.core.resources.ColorProvider import im.vector.app.databinding.FragmentGenericRecyclerBinding import org.matrix.android.sdk.api.session.crypto.model.AuditTrail import javax.inject.Inject -class GossipingEventsPaperTrailFragment @Inject constructor( - private val epoxyController: GossipingTrailPagedEpoxyController, - private val colorProvider: ColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class GossipingEventsPaperTrailFragment : + VectorBaseFragment(), GossipingTrailPagedEpoxyController.InteractionListener { + @Inject lateinit var epoxyController: GossipingTrailPagedEpoxyController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt index ac4bef9c94..b276acb1d6 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,11 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class IncomingKeyRequestListFragment @Inject constructor( - private val epoxyController: IncomingKeyRequestPagedController -) : VectorBaseFragment() { +@AndroidEntryPoint +class IncomingKeyRequestListFragment : + VectorBaseFragment() { + + @Inject lateinit var epoxyController: IncomingKeyRequestPagedController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt index 5684e941f1..f7e4a12793 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/KeyRequestsFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.tabs.TabLayoutMediator +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.safeOpenOutputStream @@ -41,11 +42,13 @@ import im.vector.app.databinding.FragmentDevtoolKeyrequestsBinding import org.matrix.android.sdk.api.extensions.tryOrNull import javax.inject.Inject -class KeyRequestsFragment @Inject constructor( - private val clock: Clock, -) : VectorBaseFragment(), +@AndroidEntryPoint +class KeyRequestsFragment : + VectorBaseFragment(), VectorMenuProvider { + @Inject lateinit var clock: Clock + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentDevtoolKeyrequestsBinding { return FragmentDevtoolKeyrequestsBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt index ca1f36dbb2..1963045de3 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -29,9 +30,11 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject -class OutgoingKeyRequestListFragment @Inject constructor( - private val epoxyController: OutgoingKeyRequestPagedController -) : VectorBaseFragment() { +@AndroidEntryPoint +class OutgoingKeyRequestListFragment : + VectorBaseFragment() { + + @Inject lateinit var epoxyController: OutgoingKeyRequestPagedController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt b/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt index 78c06d5969..005797b5c1 100644 --- a/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/font/FontScaleSettingFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.restart import im.vector.app.core.platform.VectorBaseFragment @@ -29,9 +30,12 @@ import im.vector.app.databinding.FragmentSettingsFontScalingBinding import im.vector.app.features.settings.FontScaleValue import javax.inject.Inject -class FontScaleSettingFragment @Inject constructor( - private val fontListController: FontScaleSettingController -) : VectorBaseFragment(), FontScaleSettingController.Callback { +@AndroidEntryPoint +class FontScaleSettingFragment : + VectorBaseFragment(), + FontScaleSettingController.Callback { + + @Inject lateinit var fontListController: FontScaleSettingController private val viewModel: FontScaleSettingViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt index 09fd848c99..eb342209bf 100644 --- a/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/homeserver/HomeserverSettingsFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -33,11 +34,13 @@ import javax.inject.Inject /** * Display some information about the homeserver. */ -class HomeserverSettingsFragment @Inject constructor( - private val homeserverSettingsController: HomeserverSettingsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class HomeserverSettingsFragment : + VectorBaseFragment(), HomeserverSettingsController.Callback { + @Inject lateinit var homeserverSettingsController: HomeserverSettingsController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt b/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt index 6ab3d365eb..4cf8982085 100644 --- a/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/ignored/VectorSettingsIgnoredUsersFragment.kt @@ -25,6 +25,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -33,11 +34,13 @@ import im.vector.app.databinding.FragmentGenericRecyclerBinding import im.vector.app.features.analytics.plan.MobileScreen import javax.inject.Inject -class VectorSettingsIgnoredUsersFragment @Inject constructor( - private val ignoredUsersController: IgnoredUsersController -) : VectorBaseFragment(), +@AndroidEntryPoint +class VectorSettingsIgnoredUsersFragment : + VectorBaseFragment(), IgnoredUsersController.Callback { + @Inject lateinit var ignoredUsersController: IgnoredUsersController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt index aef1c69baa..6ed3cd9156 100644 --- a/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/legals/LegalsFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -35,12 +36,14 @@ import im.vector.app.features.discovery.ServerPolicy import im.vector.app.features.settings.VectorSettingsUrls import javax.inject.Inject -class LegalsFragment @Inject constructor( - private val controller: LegalsController, - private val flavorLegals: FlavorLegals, -) : VectorBaseFragment(), +@AndroidEntryPoint +class LegalsFragment : + VectorBaseFragment(), LegalsController.Listener { + @Inject lateinit var controller: LegalsController + @Inject lateinit var flavorLegals: FlavorLegals + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt b/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt index d46b66dd87..39d41f9cfc 100644 --- a/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -32,11 +33,13 @@ import im.vector.app.databinding.FragmentLocalePickerBinding import java.util.Locale import javax.inject.Inject -class LocalePickerFragment @Inject constructor( - private val controller: LocalePickerController -) : VectorBaseFragment(), +@AndroidEntryPoint +class LocalePickerFragment : + VectorBaseFragment(), LocalePickerController.Listener { + @Inject lateinit var controller: LocalePickerController + private val viewModel: LocalePickerViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentLocalePickerBinding { diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt index 8eccc8c593..183d997ffb 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsAdvancedNotificationPreferenceFragment.kt @@ -17,6 +17,7 @@ package im.vector.app.features.settings.notifications import androidx.lifecycle.lifecycleScope import androidx.preference.Preference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.preference.PushRulePreference import im.vector.app.core.preference.VectorPreference @@ -25,9 +26,9 @@ import im.vector.app.features.settings.VectorSettingsBaseFragment import kotlinx.coroutines.launch import org.matrix.android.sdk.api.session.pushrules.RuleIds import org.matrix.android.sdk.api.session.pushrules.rest.PushRuleAndKind -import javax.inject.Inject -class VectorSettingsAdvancedNotificationPreferenceFragment @Inject constructor() : +@AndroidEntryPoint +class VectorSettingsAdvancedNotificationPreferenceFragment : VectorSettingsBaseFragment() { override var titleRes: Int = R.string.settings_notification_advanced diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt index 62f5823b65..a09bb1e6a4 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt @@ -30,6 +30,7 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.map import androidx.preference.Preference import androidx.preference.SwitchPreference +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.extensions.registerStartForActivityResult @@ -62,16 +63,18 @@ import org.matrix.android.sdk.api.session.pushrules.RuleKind import javax.inject.Inject // Referenced in vector_settings_preferences_root.xml -class VectorSettingsNotificationPreferenceFragment @Inject constructor( - private val unifiedPushHelper: UnifiedPushHelper, - private val pushersManager: PushersManager, - private val activeSessionHolder: ActiveSessionHolder, - private val vectorPreferences: VectorPreferences, - private val guardServiceStarter: GuardServiceStarter, - private val vectorFeatures: VectorFeatures, -) : VectorSettingsBaseFragment(), +@AndroidEntryPoint +class VectorSettingsNotificationPreferenceFragment : + VectorSettingsBaseFragment(), BackgroundSyncModeChooserDialog.InteractionListener { + @Inject lateinit var unifiedPushHelper: UnifiedPushHelper + @Inject lateinit var pushersManager: PushersManager + @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var vectorPreferences: VectorPreferences + @Inject lateinit var guardServiceStarter: GuardServiceStarter + @Inject lateinit var vectorFeatures: VectorFeatures + override var titleRes: Int = R.string.settings_notifications override val preferenceXmlRes = R.xml.vector_settings_notifications diff --git a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt index e75824195e..137f1c8722 100644 --- a/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationsTroubleshootFragment.kt @@ -29,6 +29,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import androidx.transition.TransitionManager +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.registerStartForActivityResult @@ -44,11 +45,13 @@ import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.extensions.tryOrNull import javax.inject.Inject -class VectorSettingsNotificationsTroubleshootFragment @Inject constructor( - private val bugReporter: BugReporter, - private val testManagerFactory: NotificationTroubleshootTestManagerFactory, - private val actionIds: NotificationActionIds, -) : VectorBaseFragment() { +@AndroidEntryPoint +class VectorSettingsNotificationsTroubleshootFragment : + VectorBaseFragment() { + + @Inject lateinit var bugReporter: BugReporter + @Inject lateinit var testManagerFactory: NotificationTroubleshootTestManagerFactory + @Inject lateinit var actionIds: NotificationActionIds private var testManager: NotificationTroubleshootTestManager? = null // members diff --git a/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt b/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt index da06f067c6..2bbb93e63c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/push/PushGatewaysFragment.kt @@ -25,6 +25,7 @@ import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -35,11 +36,13 @@ import org.matrix.android.sdk.api.session.pushers.Pusher import javax.inject.Inject // Referenced in vector_settings_notifications.xml -class PushGatewaysFragment @Inject constructor( - private val epoxyController: PushGateWayController -) : VectorBaseFragment(), +@AndroidEntryPoint +class PushGatewaysFragment : + VectorBaseFragment(), VectorMenuProvider { + @Inject lateinit var epoxyController: PushGateWayController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) } diff --git a/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt index 666f27272b..6e4c049202 100644 --- a/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/push/PushRulesFragment.kt @@ -22,6 +22,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -30,9 +31,11 @@ import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject // Referenced in vector_settings_notifications.xml -class PushRulesFragment @Inject constructor( - private val epoxyController: PushRulesController -) : VectorBaseFragment() { +@AndroidEntryPoint +class PushRulesFragment : + VectorBaseFragment() { + + @Inject lateinit var epoxyController: PushRulesController override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { return FragmentGenericRecyclerBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt index 0d6e639168..ae3cbcc9ca 100644 --- a/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt @@ -25,6 +25,7 @@ import androidx.appcompat.app.AppCompatActivity import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -41,13 +42,14 @@ import org.matrix.android.sdk.api.auth.data.LoginFlowTypes import org.matrix.android.sdk.api.session.identity.ThreePid import javax.inject.Inject -class ThreePidsSettingsFragment @Inject constructor( - private val epoxyController: ThreePidsSettingsController -) : +@AndroidEntryPoint +class ThreePidsSettingsFragment : VectorBaseFragment(), OnBackPressed, ThreePidsSettingsController.InteractionListener { + @Inject lateinit var epoxyController: ThreePidsSettingsController + private val viewModel: ThreePidsSettingsViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt b/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt index 3e2ddc469c..a80d058197 100644 --- a/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt +++ b/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt @@ -29,6 +29,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -46,13 +47,14 @@ import javax.inject.Inject * Display the list of rooms. * The user can select multiple rooms to send the data to. */ -class IncomingShareFragment @Inject constructor( - private val incomingShareController: IncomingShareController, - private val shareIntentHandler: ShareIntentHandler, -) : +@AndroidEntryPoint +class IncomingShareFragment : VectorBaseFragment(), IncomingShareController.Callback { + @Inject lateinit var incomingShareController: IncomingShareController + @Inject lateinit var shareIntentHandler: ShareIntentHandler + private val viewModel: IncomingShareViewModel by fragmentViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentIncomingShareBinding { diff --git a/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt b/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt index 483e3a140f..47670b486a 100644 --- a/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt +++ b/vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -39,11 +40,13 @@ import javax.inject.Inject * - the user is asked to enter a password to sign in again to a homeserver. * - or to cleanup all the data */ -class SoftLogoutFragment @Inject constructor( - private val softLogoutController: SoftLogoutController -) : AbstractLoginFragment(), +@AndroidEntryPoint +class SoftLogoutFragment : + AbstractLoginFragment(), SoftLogoutController.Listener { + @Inject lateinit var softLogoutController: SoftLogoutController + private val softLogoutViewModel: SoftLogoutViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGenericRecyclerBinding { diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt index 7b034356b4..9d67e3d713 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt @@ -27,6 +27,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith import im.vector.app.core.platform.StateView @@ -47,11 +48,15 @@ import javax.inject.Inject * In the New App Layout this fragment will instead be displayed in a Bottom Sheet [SpaceListBottomSheet] * and will only display spaces that are direct children of the currently selected space (or root spaces if none) */ -class SpaceListFragment @Inject constructor( - private val spaceController: SpaceSummaryController, - private val newSpaceController: NewSpaceSummaryController, - private val vectorFeatures: VectorFeatures, -) : VectorBaseFragment(), SpaceSummaryController.Callback, NewSpaceSummaryController.Callback { +@AndroidEntryPoint +class SpaceListFragment : + VectorBaseFragment(), + SpaceSummaryController.Callback, + NewSpaceSummaryController.Callback { + + @Inject lateinit var spaceController: SpaceSummaryController + @Inject lateinit var newSpaceController: NewSpaceSummaryController + @Inject lateinit var vectorFeatures: VectorFeatures private lateinit var homeActivitySharedActionViewModel: HomeSharedActionViewModel private lateinit var roomListSharedActionViewModel: RoomListSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt index 6d3003dfcf..02ffb7ff6a 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/ChoosePrivateSpaceTypeFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.onClick import im.vector.app.core.platform.OnBackPressed @@ -29,9 +30,12 @@ import im.vector.app.core.resources.StringProvider import im.vector.app.databinding.FragmentSpaceCreateChoosePrivateModelBinding import javax.inject.Inject -class ChoosePrivateSpaceTypeFragment @Inject constructor( - private val stringProvider: StringProvider -) : VectorBaseFragment(), OnBackPressed { +@AndroidEntryPoint +class ChoosePrivateSpaceTypeFragment : + VectorBaseFragment(), + OnBackPressed { + + @Inject lateinit var stringProvider: StringProvider private val sharedViewModel: CreateSpaceViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt index b4c5e63687..4c44bfc7a8 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/ChooseSpaceTypeFragment.kt @@ -21,12 +21,14 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.epoxy.onClick import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSpaceCreateChooseTypeBinding -import javax.inject.Inject -class ChooseSpaceTypeFragment @Inject constructor() : VectorBaseFragment() { +@AndroidEntryPoint +class ChooseSpaceTypeFragment : + VectorBaseFragment() { private val sharedViewModel: CreateSpaceViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt index 6260047d16..a46991caa3 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceAdd3pidInvitesFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -31,12 +32,14 @@ import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import im.vector.app.features.settings.VectorSettingsActivity import javax.inject.Inject -class CreateSpaceAdd3pidInvitesFragment @Inject constructor( - private val epoxyController: SpaceAdd3pidEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class CreateSpaceAdd3pidInvitesFragment : + VectorBaseFragment(), SpaceAdd3pidEpoxyController.Listener, OnBackPressed { + @Inject lateinit var epoxyController: SpaceAdd3pidEpoxyController + private val sharedViewModel: CreateSpaceViewModel by activityViewModel() override fun onBackPressed(toolbarButton: Boolean): Boolean { diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt index 4ed7e91417..68e9522282 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDefaultRoomsFragment.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard @@ -29,12 +30,14 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import javax.inject.Inject -class CreateSpaceDefaultRoomsFragment @Inject constructor( - private val epoxyController: SpaceDefaultRoomEpoxyController -) : VectorBaseFragment(), +@AndroidEntryPoint +class CreateSpaceDefaultRoomsFragment : + VectorBaseFragment(), SpaceDefaultRoomEpoxyController.Listener, OnBackPressed { + @Inject lateinit var epoxyController: SpaceDefaultRoomEpoxyController + private val sharedViewModel: CreateSpaceViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt index 847ee5f865..dac05ab72b 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceDetailsFragment.kt @@ -22,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.configureWith import im.vector.app.core.extensions.hideKeyboard @@ -32,12 +33,16 @@ import im.vector.app.core.time.Clock import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding import javax.inject.Inject -class CreateSpaceDetailsFragment @Inject constructor( - private val epoxyController: SpaceDetailEpoxyController, - colorProvider: ColorProvider, - clock: Clock, -) : VectorBaseFragment(), SpaceDetailEpoxyController.Listener, - GalleryOrCameraDialogHelper.Listener, OnBackPressed { +@AndroidEntryPoint +class CreateSpaceDetailsFragment : + VectorBaseFragment(), + SpaceDetailEpoxyController.Listener, + GalleryOrCameraDialogHelper.Listener, + OnBackPressed { + + @Inject lateinit var epoxyController: SpaceDetailEpoxyController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock private val sharedViewModel: CreateSpaceViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt index 3818f4278a..b6c49e5d41 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.epoxy.EpoxyVisibilityTracker import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -61,16 +62,18 @@ data class SpaceDirectoryArgs( val spaceId: String ) : Parcelable -class SpaceDirectoryFragment @Inject constructor( - private val epoxyController: SpaceDirectoryController, - private val permalinkHandler: PermalinkHandler, - private val colorProvider: ColorProvider -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceDirectoryFragment : + VectorBaseFragment(), SpaceDirectoryController.InteractionListener, TimelineEventController.UrlClickCallback, OnBackPressed, VectorMenuProvider { + @Inject lateinit var epoxyController: SpaceDirectoryController + @Inject lateinit var permalinkHandler: PermalinkHandler + @Inject lateinit var colorProvider: ColorProvider + override fun getMenuRes() = R.menu.menu_space_directory override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = diff --git a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt index de1273b8d5..ea06a12f08 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt @@ -28,6 +28,7 @@ import androidx.core.view.isVisible import com.airbnb.mvrx.Success import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -38,12 +39,14 @@ import im.vector.app.databinding.FragmentSpaceLeaveAdvancedBinding import org.matrix.android.sdk.api.session.room.model.RoomSummary import javax.inject.Inject -class SpaceLeaveAdvancedFragment @Inject constructor( - val controller: SelectChildrenController -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceLeaveAdvancedFragment : + VectorBaseFragment(), SelectChildrenController.Listener, VectorMenuProvider { + @Inject lateinit var controller: SelectChildrenController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentSpaceLeaveAdvancedBinding.inflate(layoutInflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt index 848c17deb6..d0115d561a 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceAddRoomFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.platform.OnBackPressed @@ -47,15 +48,17 @@ import org.matrix.android.sdk.api.session.room.model.RoomSummary import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class SpaceAddRoomFragment @Inject constructor( - private val spaceEpoxyController: AddRoomListController, - private val roomEpoxyController: AddRoomListController, - private val dmEpoxyController: AddRoomListController, -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceAddRoomFragment : + VectorBaseFragment(), OnBackPressed, AddRoomListController.Listener, VectorMenuProvider { + @Inject lateinit var spaceEpoxyController: AddRoomListController + @Inject lateinit var roomEpoxyController: AddRoomListController + @Inject lateinit var dmEpoxyController: AddRoomListController + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentSpaceAddRoomsBinding.inflate(layoutInflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt index d0e78bff5b..4580119070 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceManageRoomsFragment.kt @@ -32,6 +32,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -46,13 +47,15 @@ import org.matrix.android.sdk.api.session.room.model.SpaceChildInfo import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class SpaceManageRoomsFragment @Inject constructor( - private val epoxyController: SpaceManageRoomsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceManageRoomsFragment : + VectorBaseFragment(), OnBackPressed, SpaceManageRoomsController.Listener, Callback { + @Inject lateinit var epoxyController: SpaceManageRoomsController + private val viewModel by fragmentViewModel(SpaceManageRoomsViewModel::class) private val sharedViewModel: SpaceManageSharedViewModel by activityViewModel() private val epoxyVisibilityTracker = EpoxyVisibilityTracker() diff --git a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt index eb1de4fe60..2ad86bfe0c 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/manage/SpaceSettingsFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper import im.vector.app.core.extensions.cleanup @@ -59,17 +60,19 @@ import org.matrix.android.sdk.api.util.toMatrixItem import java.util.UUID import javax.inject.Inject -class SpaceSettingsFragment @Inject constructor( - private val epoxyController: SpaceSettingsController, - colorProvider: ColorProvider, - clock: Clock, - private val avatarRenderer: AvatarRenderer, -) : VectorBaseFragment(), +@AndroidEntryPoint +class SpaceSettingsFragment : + VectorBaseFragment(), SpaceSettingsController.Callback, GalleryOrCameraDialogHelper.Listener, OnBackPressed, VectorMenuProvider { + @Inject lateinit var epoxyController: SpaceSettingsController + @Inject lateinit var colorProvider: ColorProvider + @Inject lateinit var clock: Clock + @Inject lateinit var avatarRenderer: AvatarRenderer + private val viewModel: RoomSettingsViewModel by fragmentViewModel() private val sharedViewModel: SpaceManageSharedViewModel by activityViewModel() diff --git a/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt index 1181ccfa52..239b0ccb53 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleFragment.kt @@ -28,6 +28,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -43,10 +44,13 @@ import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary import reactivecircus.flowbinding.appcompat.queryTextChanges import javax.inject.Inject -class SpacePeopleFragment @Inject constructor( - private val epoxyController: SpacePeopleListController -) : VectorBaseFragment(), - OnBackPressed, SpacePeopleListController.InteractionListener { +@AndroidEntryPoint +class SpacePeopleFragment : + VectorBaseFragment(), + OnBackPressed, + SpacePeopleListController.InteractionListener { + + @Inject lateinit var epoxyController: SpacePeopleListController private val viewModel by fragmentViewModel(SpacePeopleViewModel::class) private val membersViewModel by fragmentViewModel(RoomMemberListViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt index 5722a0ff2c..df15d3001c 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt @@ -29,6 +29,7 @@ import com.airbnb.mvrx.Success import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -50,10 +51,12 @@ data class SpacePreviewArgs( val idOrAlias: String ) : Parcelable -class SpacePreviewFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer, - private val epoxyController: SpacePreviewController -) : VectorBaseFragment() { +@AndroidEntryPoint +class SpacePreviewFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer + @Inject lateinit var epoxyController: SpacePreviewController private val viewModel by fragmentViewModel(SpacePreviewViewModel::class) lateinit var sharedActionViewModel: SpacePreviewSharedActionViewModel diff --git a/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt b/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt index f7012b93c4..2e8e2c3c14 100644 --- a/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/terms/ReviewTermsFragment.kt @@ -25,6 +25,7 @@ import com.airbnb.mvrx.Loading import com.airbnb.mvrx.Success import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.epoxy.onClick import im.vector.app.core.extensions.cleanup @@ -35,11 +36,13 @@ import im.vector.app.databinding.FragmentReviewTermsBinding import org.matrix.android.sdk.api.session.terms.TermsService import javax.inject.Inject -class ReviewTermsFragment @Inject constructor( - private val termsController: TermsController -) : VectorBaseFragment(), +@AndroidEntryPoint +class ReviewTermsFragment : + VectorBaseFragment(), TermsController.Listener { + @Inject lateinit var termsController: TermsController + private val reviewTermsViewModel: ReviewTermsViewModel by activityViewModel() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentReviewTermsBinding { diff --git a/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt b/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt index 259a220874..4232b94ead 100644 --- a/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt +++ b/vector/src/main/java/im/vector/app/features/usercode/ShowUserCodeFragment.kt @@ -22,6 +22,7 @@ import android.view.View import android.view.ViewGroup import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.PERMISSIONS_FOR_TAKING_PHOTO @@ -32,9 +33,11 @@ import im.vector.app.databinding.FragmentUserCodeShowBinding import im.vector.app.features.home.AvatarRenderer import javax.inject.Inject -class ShowUserCodeFragment @Inject constructor( - private val avatarRenderer: AvatarRenderer -) : VectorBaseFragment() { +@AndroidEntryPoint +class ShowUserCodeFragment : + VectorBaseFragment() { + + @Inject lateinit var avatarRenderer: AvatarRenderer override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentUserCodeShowBinding { return FragmentUserCodeShowBinding.inflate(inflater, container, false) diff --git a/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt b/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt index 3fe95cfb7c..fbb6a8ee14 100644 --- a/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/userdirectory/UserListFragment.kt @@ -30,6 +30,7 @@ import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import com.google.android.material.chip.Chip +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith @@ -51,13 +52,15 @@ import org.matrix.android.sdk.api.session.user.model.User import reactivecircus.flowbinding.android.widget.textChanges import javax.inject.Inject -class UserListFragment @Inject constructor( - private val userListController: UserListController, - private val dimensionConverter: DimensionConverter, -) : VectorBaseFragment(), +@AndroidEntryPoint +class UserListFragment : + VectorBaseFragment(), UserListController.Callback, VectorMenuProvider { + @Inject lateinit var userListController: UserListController + @Inject lateinit var dimensionConverter: DimensionConverter + private val args: UserListFragmentArgs by args() private val viewModel: UserListViewModel by activityViewModel() private val homeServerCapabilitiesViewModel: HomeServerCapabilitiesViewModel by fragmentViewModel() diff --git a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt index ed1bace70c..4d94493d17 100644 --- a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt +++ b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt @@ -38,6 +38,7 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.args import com.airbnb.mvrx.withState import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dagger.hilt.android.AndroidEntryPoint import im.vector.app.R import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.platform.OnBackPressed @@ -66,16 +67,17 @@ data class WidgetArgs( val urlParams: Map = emptyMap() ) : Parcelable -class WidgetFragment @Inject constructor( - private val permissionUtils: WebviewPermissionUtils, - private val checkWebViewPermissionsUseCase: CheckWebViewPermissionsUseCase, - private val vectorPreferences: VectorPreferences, -) : +@AndroidEntryPoint +class WidgetFragment : VectorBaseFragment(), WebEventListener, OnBackPressed, VectorMenuProvider { + @Inject lateinit var permissionUtils: WebviewPermissionUtils + @Inject lateinit var checkWebViewPermissionsUseCase: CheckWebViewPermissionsUseCase + @Inject lateinit var vectorPreferences: VectorPreferences + private val fragmentArgs: WidgetArgs by args() private val viewModel: WidgetViewModel by activityViewModel()