Skip to content

Commit f330969

Browse files
authored
Merge pull request #7239 from vector-im/feature/bma/arch_fixes
Feature/bma/arch fixes
2 parents 3ccabd6 + fa1d2bd commit f330969

33 files changed

+88
-139
lines changed

vector-app/src/debug/java/im/vector/app/features/debug/DebugMenuActivity.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import androidx.core.app.Person
2626
import androidx.core.content.getSystemService
2727
import dagger.hilt.android.AndroidEntryPoint
2828
import im.vector.app.R
29-
import im.vector.app.core.di.ActiveSessionHolder
3029
import im.vector.app.core.extensions.registerStartForActivityResult
3130
import im.vector.app.core.platform.VectorBaseActivity
3231
import im.vector.app.core.time.Clock
@@ -59,11 +58,7 @@ class DebugMenuActivity : VectorBaseActivity<ActivityDebugMenuBinding>() {
5958

6059
override fun getBinding() = ActivityDebugMenuBinding.inflate(layoutInflater)
6160

62-
@Inject
63-
lateinit var activeSessionHolder: ActiveSessionHolder
64-
65-
@Inject
66-
lateinit var clock: Clock
61+
@Inject lateinit var clock: Clock
6762

6863
private lateinit var buffer: ByteArray
6964

vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import im.vector.app.core.di.ActiveSessionHolder
5656
import im.vector.app.core.di.ActivityEntryPoint
5757
import im.vector.app.core.dialogs.DialogLocker
5858
import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
59+
import im.vector.app.core.error.ErrorFormatter
5960
import im.vector.app.core.error.fatalError
6061
import im.vector.app.core.extensions.observeEvent
6162
import im.vector.app.core.extensions.observeNotNull
@@ -105,7 +106,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
105106

106107
protected var analyticsScreenName: MobileScreen.ScreenName? = null
107108

108-
protected lateinit var analyticsTracker: AnalyticsTracker
109+
@Inject lateinit var analyticsTracker: AnalyticsTracker
109110

110111
/* ==========================================================================================
111112
* View
@@ -149,27 +150,23 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
149150
* ========================================================================================== */
150151

151152
private lateinit var configurationViewModel: ConfigurationViewModel
152-
private lateinit var sessionListener: SessionListener
153-
protected lateinit var bugReporter: BugReporter
154-
private lateinit var pinLocker: PinLocker
155153

154+
@Inject lateinit var sessionListener: SessionListener
155+
@Inject lateinit var bugReporter: BugReporter
156+
@Inject lateinit var pinLocker: PinLocker
156157
@Inject lateinit var rageShake: RageShake
157158
@Inject lateinit var buildMeta: BuildMeta
158159
@Inject lateinit var fontScalePreferences: FontScalePreferences
159160
@Inject lateinit var vectorLocale: VectorLocaleProvider
161+
@Inject lateinit var vectorFeatures: VectorFeatures
162+
@Inject lateinit var navigator: Navigator
163+
@Inject lateinit var activeSessionHolder: ActiveSessionHolder
164+
@Inject lateinit var vectorPreferences: VectorPreferences
165+
@Inject lateinit var errorFormatter: ErrorFormatter
160166

161167
// For debug only
162168
@Inject lateinit var debugReceiver: DebugReceiver
163169

164-
@Inject
165-
lateinit var vectorFeatures: VectorFeatures
166-
167-
lateinit var navigator: Navigator
168-
private set
169-
170-
private lateinit var activeSessionHolder: ActiveSessionHolder
171-
private lateinit var vectorPreferences: VectorPreferences
172-
173170
// Filter for multiple invalid token error
174171
private var mainActivityStarted = false
175172

@@ -205,20 +202,13 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
205202
@CallSuper
206203
override fun onCreate(savedInstanceState: Bundle?) {
207204
Timber.i("onCreate Activity ${javaClass.simpleName}")
208-
val singletonEntryPoint = singletonEntryPoint()
209205
val activityEntryPoint = EntryPointAccessors.fromActivity(this, ActivityEntryPoint::class.java)
210206
ThemeUtils.setActivityTheme(this, getOtherThemes())
211207
viewModelFactory = activityEntryPoint.viewModelFactory()
212208
super.onCreate(savedInstanceState)
213209
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
214210
setupMenu()
215211
configurationViewModel = viewModelProvider.get(ConfigurationViewModel::class.java)
216-
bugReporter = singletonEntryPoint.bugReporter()
217-
pinLocker = singletonEntryPoint.pinLocker()
218-
analyticsTracker = singletonEntryPoint.analyticsTracker()
219-
navigator = singletonEntryPoint.navigator()
220-
activeSessionHolder = singletonEntryPoint.activeSessionHolder()
221-
vectorPreferences = singletonEntryPoint.vectorPreferences()
222212
configurationViewModel.activityRestarter.observe(this) {
223213
if (!it.hasBeenHandled) {
224214
// Recreate the Activity because configuration has changed
@@ -230,7 +220,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
230220
navigator.openPinCode(this, pinStartForActivityResult, PinMode.AUTH)
231221
}
232222
}
233-
sessionListener = singletonEntryPoint.sessionListener()
234223
sessionListener.globalErrorLiveData.observeEvent(this) {
235224
handleGlobalError(it)
236225
}

vector/src/main/java/im/vector/app/features/MainActivity.kt

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ import com.bumptech.glide.Glide
3030
import com.google.android.material.dialog.MaterialAlertDialogBuilder
3131
import dagger.hilt.android.AndroidEntryPoint
3232
import im.vector.app.R
33-
import im.vector.app.core.di.ActiveSessionHolder
34-
import im.vector.app.core.error.ErrorFormatter
3533
import im.vector.app.core.extensions.startSyncing
3634
import im.vector.app.core.extensions.vectorStore
3735
import im.vector.app.core.platform.VectorBaseActivity
@@ -42,13 +40,11 @@ import im.vector.app.features.analytics.plan.ViewRoom
4240
import im.vector.app.features.home.HomeActivity
4341
import im.vector.app.features.home.ShortcutsHandler
4442
import im.vector.app.features.notifications.NotificationDrawerManager
45-
import im.vector.app.features.pin.PinLocker
4643
import im.vector.app.features.pin.UnlockedActivity
4744
import im.vector.app.features.pin.lockscreen.crypto.LockScreenKeyRepository
4845
import im.vector.app.features.pin.lockscreen.pincode.PinCodeHelper
4946
import im.vector.app.features.popup.PopupAlertManager
5047
import im.vector.app.features.session.VectorSessionStore
51-
import im.vector.app.features.settings.VectorPreferences
5248
import im.vector.app.features.signout.hard.SignedOutActivity
5349
import im.vector.app.features.start.StartAppAction
5450
import im.vector.app.features.start.StartAppAndroidService
@@ -131,13 +127,9 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
131127
private lateinit var args: MainActivityArgs
132128

133129
@Inject lateinit var notificationDrawerManager: NotificationDrawerManager
134-
@Inject lateinit var sessionHolder: ActiveSessionHolder
135-
@Inject lateinit var errorFormatter: ErrorFormatter
136-
@Inject lateinit var vectorPreferences: VectorPreferences
137130
@Inject lateinit var uiStateRepository: UiStateRepository
138131
@Inject lateinit var shortcutsHandler: ShortcutsHandler
139132
@Inject lateinit var pinCodeHelper: PinCodeHelper
140-
@Inject lateinit var pinLocker: PinLocker
141133
@Inject lateinit var popupAlertManager: PopupAlertManager
142134
@Inject lateinit var vectorAnalytics: VectorAnalytics
143135
@Inject lateinit var lockScreenKeyRepository: LockScreenKeyRepository
@@ -232,7 +224,7 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
232224
}
233225

234226
private fun doCleanUp() {
235-
val session = sessionHolder.getSafeActiveSession()
227+
val session = activeSessionHolder.getSafeActiveSession()
236228
if (session == null) {
237229
startNextActivityAndFinish()
238230
return
@@ -244,7 +236,7 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
244236
lifecycleScope.launch {
245237
// Just do the local cleanup
246238
Timber.w("Account deactivated, start app")
247-
sessionHolder.clearActiveSession()
239+
activeSessionHolder.clearActiveSession()
248240
doLocalCleanup(clearPreferences = true, onboardingStore)
249241
startNextActivityAndFinish()
250242
}
@@ -258,7 +250,7 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
258250
return@launch
259251
}
260252
Timber.w("SIGN_OUT: success, start app")
261-
sessionHolder.clearActiveSession()
253+
activeSessionHolder.clearActiveSession()
262254
doLocalCleanup(clearPreferences = true, onboardingStore)
263255
startNextActivityAndFinish()
264256
}
@@ -330,10 +322,10 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
330322
args.isUserLoggedOut ->
331323
// the homeserver has invalidated the token (password changed, device deleted, other security reasons)
332324
SignedOutActivity.newIntent(this)
333-
sessionHolder.hasActiveSession() ->
325+
activeSessionHolder.hasActiveSession() ->
334326
// We have a session.
335327
// Check it can be opened
336-
if (sessionHolder.getActiveSession().isOpenable) {
328+
if (activeSessionHolder.getActiveSession().isOpenable) {
337329
HomeActivity.newIntent(this, firstStartMainActivity = false, existingSession = true)
338330
} else {
339331
// The token is still invalid

vector/src/main/java/im/vector/app/features/call/dialpad/PstnDialActivity.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import androidx.lifecycle.lifecycleScope
2323
import com.google.android.material.dialog.MaterialAlertDialogBuilder
2424
import dagger.hilt.android.AndroidEntryPoint
2525
import im.vector.app.R
26-
import im.vector.app.core.error.ErrorFormatter
2726
import im.vector.app.core.extensions.addFragment
2827
import im.vector.app.core.platform.SimpleFragmentActivity
2928
import im.vector.app.features.call.webrtc.WebRtcCallManager
@@ -39,7 +38,6 @@ class PstnDialActivity : SimpleFragmentActivity() {
3938
@Inject lateinit var callManager: WebRtcCallManager
4039
@Inject lateinit var directRoomHelper: DirectRoomHelper
4140
@Inject lateinit var session: Session
42-
@Inject lateinit var errorFormatter: ErrorFormatter
4341

4442
private var progress: AppCompatDialog? = null
4543

vector/src/main/java/im/vector/app/features/call/transfer/CallTransferActivity.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,10 @@ import com.airbnb.mvrx.viewModel
2525
import com.google.android.material.tabs.TabLayoutMediator
2626
import dagger.hilt.android.AndroidEntryPoint
2727
import im.vector.app.R
28-
import im.vector.app.core.error.ErrorFormatter
2928
import im.vector.app.core.platform.VectorBaseActivity
3029
import im.vector.app.databinding.ActivityCallTransferBinding
3130
import im.vector.lib.core.utils.compat.getParcelableCompat
3231
import kotlinx.parcelize.Parcelize
33-
import javax.inject.Inject
3432

3533
@Parcelize
3634
data class CallTransferArgs(val callId: String) : Parcelable
@@ -40,8 +38,6 @@ private const val USER_LIST_FRAGMENT_TAG = "USER_LIST_FRAGMENT_TAG"
4038
@AndroidEntryPoint
4139
class CallTransferActivity : VectorBaseActivity<ActivityCallTransferBinding>() {
4240

43-
@Inject lateinit var errorFormatter: ErrorFormatter
44-
4541
private lateinit var sectionsPagerAdapter: CallTransferPagerAdapter
4642

4743
private val callTransferViewModel: CallTransferViewModel by viewModel()

vector/src/main/java/im/vector/app/features/createdirect/CreateDirectRoomActivity.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import com.airbnb.mvrx.viewModel
3232
import com.google.android.material.dialog.MaterialAlertDialogBuilder
3333
import dagger.hilt.android.AndroidEntryPoint
3434
import im.vector.app.R
35-
import im.vector.app.core.error.ErrorFormatter
3635
import im.vector.app.core.extensions.addFragment
3736
import im.vector.app.core.extensions.addFragmentToBackstack
3837
import im.vector.app.core.platform.SimpleFragmentActivity
@@ -58,7 +57,6 @@ import kotlinx.coroutines.flow.onEach
5857
import org.matrix.android.sdk.api.failure.Failure
5958
import org.matrix.android.sdk.api.session.room.failure.CreateRoomFailure
6059
import java.net.HttpURLConnection
61-
import javax.inject.Inject
6260

6361
@AndroidEntryPoint
6462
class CreateDirectRoomActivity : SimpleFragmentActivity() {
@@ -67,7 +65,6 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
6765
private val qrViewModel: QrCodeScannerViewModel by viewModel()
6866

6967
private lateinit var sharedActionViewModel: UserListSharedActionViewModel
70-
@Inject lateinit var errorFormatter: ErrorFormatter
7168

7269
override fun onCreate(savedInstanceState: Bundle?) {
7370
super.onCreate(savedInstanceState)

vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreActivity.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import com.airbnb.mvrx.viewModel
2222
import com.google.android.material.dialog.MaterialAlertDialogBuilder
2323
import dagger.hilt.android.AndroidEntryPoint
2424
import im.vector.app.R
25-
import im.vector.app.core.di.ActiveSessionHolder
2625
import im.vector.app.core.extensions.addFragmentToBackstack
2726
import im.vector.app.core.extensions.observeEvent
2827
import im.vector.app.core.extensions.registerStartForActivityResult
@@ -32,7 +31,6 @@ import im.vector.app.features.crypto.quads.SharedSecureStorageActivity
3231
import im.vector.app.features.workers.signout.ServerBackupStatusAction
3332
import im.vector.app.features.workers.signout.ServerBackupStatusViewModel
3433
import org.matrix.android.sdk.api.session.crypto.crosssigning.KEYBACKUP_SECRET_SSSS_NAME
35-
import javax.inject.Inject
3634

3735
@AndroidEntryPoint
3836
class KeysBackupRestoreActivity : SimpleFragmentActivity() {
@@ -56,8 +54,6 @@ class KeysBackupRestoreActivity : SimpleFragmentActivity() {
5654
super.onBackPressed()
5755
}
5856

59-
@Inject lateinit var activeSessionHolder: ActiveSessionHolder
60-
6157
override fun initUiAndData() {
6258
super.initUiAndData()
6359
viewModel = viewModelProvider.get(KeysBackupRestoreSharedViewModel::class.java)

vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import androidx.lifecycle.lifecycleScope
2525
import com.google.android.material.dialog.MaterialAlertDialogBuilder
2626
import dagger.hilt.android.AndroidEntryPoint
2727
import im.vector.app.R
28-
import im.vector.app.core.di.ActiveSessionHolder
2928
import im.vector.app.core.dialogs.ExportKeysDialog
3029
import im.vector.app.core.extensions.observeEvent
3130
import im.vector.app.core.extensions.queryExportKeys
@@ -45,7 +44,6 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
4544
private lateinit var viewModel: KeysBackupSetupSharedViewModel
4645

4746
@Inject lateinit var keysExporter: KeysExporter
48-
@Inject lateinit var activeSessionHolder: ActiveSessionHolder
4947

5048
private val session by lazy {
5149
activeSessionHolder.getActiveSession()

vector/src/main/java/im/vector/app/features/crypto/quads/SharedSecureStorageActivity.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,11 @@ import com.airbnb.mvrx.viewModel
3030
import com.google.android.material.dialog.MaterialAlertDialogBuilder
3131
import dagger.hilt.android.AndroidEntryPoint
3232
import im.vector.app.R
33-
import im.vector.app.core.error.ErrorFormatter
3433
import im.vector.app.core.extensions.replaceFragment
3534
import im.vector.app.core.platform.SimpleFragmentActivity
3635
import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment
3736
import im.vector.app.features.crypto.recover.SetupMode
3837
import kotlinx.parcelize.Parcelize
39-
import javax.inject.Inject
4038
import kotlin.reflect.KClass
4139

4240
@AndroidEntryPoint
@@ -54,7 +52,6 @@ class SharedSecureStorageActivity :
5452
) : Parcelable
5553

5654
private val viewModel: SharedSecureStorageViewModel by viewModel()
57-
@Inject lateinit var errorFormatter: ErrorFormatter
5855

5956
override fun onCreate(savedInstanceState: Bundle?) {
6057
super.onCreate(savedInstanceState)

vector/src/main/java/im/vector/app/features/home/HomeActivity.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
3737
import dagger.hilt.android.AndroidEntryPoint
3838
import im.vector.app.R
3939
import im.vector.app.SpaceStateHandler
40-
import im.vector.app.core.di.ActiveSessionHolder
4140
import im.vector.app.core.extensions.hideKeyboard
4241
import im.vector.app.core.extensions.registerStartForActivityResult
4342
import im.vector.app.core.extensions.replaceFragment
@@ -77,7 +76,6 @@ import im.vector.app.features.popup.PopupAlertManager
7776
import im.vector.app.features.popup.VerificationVectorAlert
7877
import im.vector.app.features.rageshake.ReportType
7978
import im.vector.app.features.rageshake.VectorUncaughtExceptionHandler
80-
import im.vector.app.features.settings.VectorPreferences
8179
import im.vector.app.features.settings.VectorSettingsActivity
8280
import im.vector.app.features.spaces.SpaceCreationActivity
8381
import im.vector.app.features.spaces.SpacePreviewActivity
@@ -129,11 +127,9 @@ class HomeActivity :
129127

130128
private val serverBackupStatusViewModel: ServerBackupStatusViewModel by viewModel()
131129

132-
@Inject lateinit var activeSessionHolder: ActiveSessionHolder
133130
@Inject lateinit var vectorUncaughtExceptionHandler: VectorUncaughtExceptionHandler
134131
@Inject lateinit var pushersManager: PushersManager
135132
@Inject lateinit var notificationDrawerManager: NotificationDrawerManager
136-
@Inject lateinit var vectorPreferences: VectorPreferences
137133
@Inject lateinit var popupAlertManager: PopupAlertManager
138134
@Inject lateinit var shortcutsHandler: ShortcutsHandler
139135
@Inject lateinit var permalinkHandler: PermalinkHandler

0 commit comments

Comments
 (0)