Hilt: continue cleaning up
This commit is contained in:
parent
d724504662
commit
b6501ce7b2
|
@ -1,22 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2019 New Vector Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package im.vector.app.core.di
|
|
||||||
|
|
||||||
interface HasVectorInjector {
|
|
||||||
|
|
||||||
fun injector(): SingletonEntryPoint
|
|
||||||
}
|
|
|
@ -21,6 +21,7 @@ import com.bumptech.glide.Glide
|
||||||
import com.bumptech.glide.load.model.GlideUrl
|
import com.bumptech.glide.load.model.GlideUrl
|
||||||
import com.github.piasy.biv.BigImageViewer
|
import com.github.piasy.biv.BigImageViewer
|
||||||
import com.github.piasy.biv.loader.glide.GlideImageLoader
|
import com.github.piasy.biv.loader.glide.GlideImageLoader
|
||||||
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import im.vector.app.ActiveSessionDataSource
|
import im.vector.app.ActiveSessionDataSource
|
||||||
import im.vector.app.core.glide.FactoryUrl
|
import im.vector.app.core.glide.FactoryUrl
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
|
|
|
@ -16,157 +16,46 @@
|
||||||
|
|
||||||
package im.vector.app.core.di
|
package im.vector.app.core.di
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.res.Resources
|
|
||||||
import dagger.hilt.EntryPoint
|
import dagger.hilt.EntryPoint
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import im.vector.app.ActiveSessionDataSource
|
|
||||||
import im.vector.app.AppStateHandler
|
|
||||||
import im.vector.app.EmojiCompatFontProvider
|
|
||||||
import im.vector.app.EmojiCompatWrapper
|
|
||||||
import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
|
import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
|
||||||
import im.vector.app.core.dispatchers.CoroutineDispatchers
|
|
||||||
import im.vector.app.core.error.ErrorFormatter
|
import im.vector.app.core.error.ErrorFormatter
|
||||||
import im.vector.app.core.network.WifiDetector
|
|
||||||
import im.vector.app.core.pushers.PushersManager
|
|
||||||
import im.vector.app.core.utils.AssetReader
|
|
||||||
import im.vector.app.core.utils.DimensionConverter
|
|
||||||
import im.vector.app.features.call.conference.JitsiActiveConferenceHolder
|
|
||||||
import im.vector.app.features.call.webrtc.WebRtcCallManager
|
import im.vector.app.features.call.webrtc.WebRtcCallManager
|
||||||
import im.vector.app.features.configuration.VectorConfiguration
|
|
||||||
import im.vector.app.features.crypto.keysrequest.KeyRequestHandler
|
|
||||||
import im.vector.app.features.crypto.verification.IncomingVerificationRequestHandler
|
|
||||||
import im.vector.app.features.home.AvatarRenderer
|
import im.vector.app.features.home.AvatarRenderer
|
||||||
import im.vector.app.features.home.CurrentSpaceSuggestedRoomListDataSource
|
|
||||||
import im.vector.app.features.home.room.detail.RoomDetailPendingActionStore
|
|
||||||
import im.vector.app.features.home.room.detail.timeline.helper.MatrixItemColorProvider
|
|
||||||
import im.vector.app.features.html.EventHtmlRenderer
|
|
||||||
import im.vector.app.features.html.VectorHtmlCompressor
|
|
||||||
import im.vector.app.features.invite.AutoAcceptInvites
|
|
||||||
import im.vector.app.features.login.ReAuthHelper
|
|
||||||
import im.vector.app.features.navigation.Navigator
|
import im.vector.app.features.navigation.Navigator
|
||||||
import im.vector.app.features.notifications.NotifiableEventResolver
|
|
||||||
import im.vector.app.features.notifications.NotificationDrawerManager
|
|
||||||
import im.vector.app.features.notifications.NotificationUtils
|
|
||||||
import im.vector.app.features.notifications.PushRuleTriggerListener
|
|
||||||
import im.vector.app.features.pin.PinCodeStore
|
|
||||||
import im.vector.app.features.pin.PinLocker
|
import im.vector.app.features.pin.PinLocker
|
||||||
import im.vector.app.features.popup.PopupAlertManager
|
|
||||||
import im.vector.app.features.rageshake.BugReporter
|
import im.vector.app.features.rageshake.BugReporter
|
||||||
import im.vector.app.features.rageshake.VectorFileLogger
|
|
||||||
import im.vector.app.features.rageshake.VectorUncaughtExceptionHandler
|
|
||||||
import im.vector.app.features.reactions.data.EmojiDataSource
|
|
||||||
import im.vector.app.features.session.SessionListener
|
import im.vector.app.features.session.SessionListener
|
||||||
import im.vector.app.features.settings.VectorDataStore
|
|
||||||
import im.vector.app.features.settings.VectorPreferences
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
import im.vector.app.features.ui.UiStateRepository
|
import im.vector.app.features.ui.UiStateRepository
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import org.matrix.android.sdk.api.Matrix
|
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
|
||||||
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
|
||||||
import org.matrix.android.sdk.api.raw.RawService
|
|
||||||
import org.matrix.android.sdk.api.session.Session
|
|
||||||
|
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
@EntryPoint
|
@EntryPoint
|
||||||
interface SingletonEntryPoint {
|
interface SingletonEntryPoint {
|
||||||
|
|
||||||
fun matrix(): Matrix
|
|
||||||
|
|
||||||
fun matrixItemColorProvider(): MatrixItemColorProvider
|
|
||||||
|
|
||||||
fun sessionListener(): SessionListener
|
fun sessionListener(): SessionListener
|
||||||
|
|
||||||
fun currentSession(): Session
|
|
||||||
|
|
||||||
fun notificationUtils(): NotificationUtils
|
|
||||||
|
|
||||||
fun notificationDrawerManager(): NotificationDrawerManager
|
|
||||||
|
|
||||||
fun appContext(): Context
|
|
||||||
|
|
||||||
fun resources(): Resources
|
|
||||||
|
|
||||||
fun assetReader(): AssetReader
|
|
||||||
|
|
||||||
fun dimensionConverter(): DimensionConverter
|
|
||||||
|
|
||||||
fun vectorConfiguration(): VectorConfiguration
|
|
||||||
|
|
||||||
fun avatarRenderer(): AvatarRenderer
|
fun avatarRenderer(): AvatarRenderer
|
||||||
|
|
||||||
fun activeSessionHolder(): ActiveSessionHolder
|
fun activeSessionHolder(): ActiveSessionHolder
|
||||||
|
|
||||||
fun unrecognizedCertificateDialog(): UnrecognizedCertificateDialog
|
fun unrecognizedCertificateDialog(): UnrecognizedCertificateDialog
|
||||||
|
|
||||||
fun emojiCompatFontProvider(): EmojiCompatFontProvider
|
|
||||||
|
|
||||||
fun emojiCompatWrapper(): EmojiCompatWrapper
|
|
||||||
|
|
||||||
fun eventHtmlRenderer(): EventHtmlRenderer
|
|
||||||
|
|
||||||
fun vectorHtmlCompressor(): VectorHtmlCompressor
|
|
||||||
|
|
||||||
fun navigator(): Navigator
|
fun navigator(): Navigator
|
||||||
|
|
||||||
fun errorFormatter(): ErrorFormatter
|
fun errorFormatter(): ErrorFormatter
|
||||||
|
|
||||||
fun appStateHandler(): AppStateHandler
|
|
||||||
|
|
||||||
fun currentSpaceSuggestedRoomListDataSource(): CurrentSpaceSuggestedRoomListDataSource
|
|
||||||
|
|
||||||
fun roomDetailPendingActionStore(): RoomDetailPendingActionStore
|
|
||||||
|
|
||||||
fun activeSessionObservableStore(): ActiveSessionDataSource
|
|
||||||
|
|
||||||
fun incomingVerificationRequestHandler(): IncomingVerificationRequestHandler
|
|
||||||
|
|
||||||
fun incomingKeyRequestHandler(): KeyRequestHandler
|
|
||||||
|
|
||||||
fun authenticationService(): AuthenticationService
|
|
||||||
|
|
||||||
fun rawService(): RawService
|
|
||||||
|
|
||||||
fun homeServerHistoryService(): HomeServerHistoryService
|
|
||||||
|
|
||||||
fun bugReporter(): BugReporter
|
fun bugReporter(): BugReporter
|
||||||
|
|
||||||
fun vectorUncaughtExceptionHandler(): VectorUncaughtExceptionHandler
|
|
||||||
|
|
||||||
fun pushRuleTriggerListener(): PushRuleTriggerListener
|
|
||||||
|
|
||||||
fun pusherManager(): PushersManager
|
|
||||||
|
|
||||||
fun notifiableEventResolver(): NotifiableEventResolver
|
|
||||||
|
|
||||||
fun vectorPreferences(): VectorPreferences
|
fun vectorPreferences(): VectorPreferences
|
||||||
|
|
||||||
fun vectorDataStore(): VectorDataStore
|
|
||||||
|
|
||||||
fun wifiDetector(): WifiDetector
|
|
||||||
|
|
||||||
fun vectorFileLogger(): VectorFileLogger
|
|
||||||
|
|
||||||
fun uiStateRepository(): UiStateRepository
|
fun uiStateRepository(): UiStateRepository
|
||||||
|
|
||||||
fun pinCodeStore(): PinCodeStore
|
|
||||||
|
|
||||||
fun emojiDataSource(): EmojiDataSource
|
|
||||||
|
|
||||||
fun alertManager(): PopupAlertManager
|
|
||||||
|
|
||||||
fun reAuthHelper(): ReAuthHelper
|
|
||||||
|
|
||||||
fun pinLocker(): PinLocker
|
fun pinLocker(): PinLocker
|
||||||
|
|
||||||
fun autoAcceptInvites(): AutoAcceptInvites
|
|
||||||
|
|
||||||
fun webRtcCallManager(): WebRtcCallManager
|
fun webRtcCallManager(): WebRtcCallManager
|
||||||
|
|
||||||
fun appCoroutineScope(): CoroutineScope
|
fun appCoroutineScope(): CoroutineScope
|
||||||
|
|
||||||
fun coroutineDispatchers(): CoroutineDispatchers
|
|
||||||
|
|
||||||
fun jitsiActiveConferenceHolder(): JitsiActiveConferenceHolder
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,8 +50,6 @@ import im.vector.app.BuildConfig
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.di.ActiveSessionHolder
|
import im.vector.app.core.di.ActiveSessionHolder
|
||||||
import im.vector.app.core.di.ActivityEntryPoint
|
import im.vector.app.core.di.ActivityEntryPoint
|
||||||
import im.vector.app.core.di.SingletonEntryPoint
|
|
||||||
import im.vector.app.core.di.HasVectorInjector
|
|
||||||
import im.vector.app.core.dialogs.DialogLocker
|
import im.vector.app.core.dialogs.DialogLocker
|
||||||
import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
|
import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
|
||||||
import im.vector.app.core.extensions.exhaustive
|
import im.vector.app.core.extensions.exhaustive
|
||||||
|
@ -404,10 +402,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
||||||
* PRIVATE METHODS
|
* PRIVATE METHODS
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
||||||
internal fun getVectorComponent(): SingletonEntryPoint {
|
|
||||||
return (application as HasVectorInjector).injector()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Force to render the activity in fullscreen
|
* Force to render the activity in fullscreen
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,7 +19,7 @@ package im.vector.app.features.call.service
|
||||||
import android.content.BroadcastReceiver
|
import android.content.BroadcastReceiver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import im.vector.app.core.di.HasVectorInjector
|
import im.vector.app.core.extensions.singletonEntryPoint
|
||||||
import im.vector.app.features.call.webrtc.WebRtcCallManager
|
import im.vector.app.features.call.webrtc.WebRtcCallManager
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
|
@ -32,11 +32,7 @@ class CallHeadsUpActionReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onReceive(context: Context, intent: Intent?) {
|
override fun onReceive(context: Context, intent: Intent?) {
|
||||||
val webRtcCallManager = (context.applicationContext as? HasVectorInjector)
|
val webRtcCallManager = context.singletonEntryPoint().webRtcCallManager()
|
||||||
?.injector()
|
|
||||||
?.webRtcCallManager()
|
|
||||||
?: return
|
|
||||||
|
|
||||||
when (intent?.getIntExtra(EXTRA_CALL_ACTION_KEY, 0)) {
|
when (intent?.getIntExtra(EXTRA_CALL_ACTION_KEY, 0)) {
|
||||||
CALL_ACTION_REJECT -> {
|
CALL_ACTION_REJECT -> {
|
||||||
val callId = intent.getStringExtra(EXTRA_CALL_ID) ?: return
|
val callId = intent.getStringExtra(EXTRA_CALL_ID) ?: return
|
||||||
|
|
|
@ -67,6 +67,7 @@ import kotlinx.coroutines.launch
|
||||||
import me.gujun.android.span.span
|
import me.gujun.android.span.span
|
||||||
import org.matrix.android.sdk.api.MatrixCallback
|
import org.matrix.android.sdk.api.MatrixCallback
|
||||||
import org.matrix.android.sdk.api.extensions.getFingerprintHumanReadable
|
import org.matrix.android.sdk.api.extensions.getFingerprintHumanReadable
|
||||||
|
import org.matrix.android.sdk.api.raw.RawService
|
||||||
import org.matrix.android.sdk.internal.crypto.crosssigning.isVerified
|
import org.matrix.android.sdk.internal.crypto.crosssigning.isVerified
|
||||||
import org.matrix.android.sdk.internal.crypto.model.rest.DeviceInfo
|
import org.matrix.android.sdk.internal.crypto.model.rest.DeviceInfo
|
||||||
import org.matrix.android.sdk.internal.crypto.model.rest.DevicesListResponse
|
import org.matrix.android.sdk.internal.crypto.model.rest.DevicesListResponse
|
||||||
|
@ -79,6 +80,7 @@ class VectorSettingsSecurityPrivacyFragment @Inject constructor(
|
||||||
private val pinCodeStore: PinCodeStore,
|
private val pinCodeStore: PinCodeStore,
|
||||||
private val keysExporter: KeysExporter,
|
private val keysExporter: KeysExporter,
|
||||||
private val keysImporter: KeysImporter,
|
private val keysImporter: KeysImporter,
|
||||||
|
private val rawService: RawService,
|
||||||
private val navigator: Navigator
|
private val navigator: Navigator
|
||||||
) : VectorSettingsBaseFragment() {
|
) : VectorSettingsBaseFragment() {
|
||||||
|
|
||||||
|
@ -155,8 +157,7 @@ class VectorSettingsSecurityPrivacyFragment @Inject constructor(
|
||||||
|
|
||||||
lifecycleScope.launchWhenResumed {
|
lifecycleScope.launchWhenResumed {
|
||||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_CRYPTOGRAPHY_HS_ADMIN_DISABLED_E2E_DEFAULT)?.isVisible =
|
findPreference<VectorPreference>(VectorPreferences.SETTINGS_CRYPTOGRAPHY_HS_ADMIN_DISABLED_E2E_DEFAULT)?.isVisible =
|
||||||
vectorActivity.getVectorComponent()
|
rawService
|
||||||
.rawService()
|
|
||||||
.getElementWellknown(session.sessionParams)
|
.getElementWellknown(session.sessionParams)
|
||||||
?.isE2EByDefault() == false
|
?.isE2EByDefault() == false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue