Rewrite the AppDependencies system.

This commit is contained in:
Greyson Parrelli
2024-05-22 15:44:24 -04:00
committed by Cody Henthorne
parent a0131bf39b
commit b6a4e1f145
560 changed files with 2909 additions and 3036 deletions

View File

@@ -12,7 +12,7 @@ import org.signal.ringrtc.CallLinkRootKey
import org.thoughtcrime.securesms.database.CallLinkTable
import org.thoughtcrime.securesms.database.DatabaseObserver
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkRoomId
import org.thoughtcrime.securesms.util.FeatureFlags
import java.net.URLDecoder
@@ -43,9 +43,9 @@ object CallLinks {
refresh()
}
ApplicationDependencies.getDatabaseObserver().registerCallLinkObserver(roomId, observer)
AppDependencies.databaseObserver.registerCallLinkObserver(roomId, observer)
emitter.setCancellable {
ApplicationDependencies.getDatabaseObserver().unregisterObserver(observer)
AppDependencies.databaseObserver.unregisterObserver(observer)
}
refresh()

View File

@@ -9,7 +9,7 @@ import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.schedulers.Schedulers
import org.signal.ringrtc.CallLinkState
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.CallLinkUpdateSendJob
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkCredentials
import org.thoughtcrime.securesms.service.webrtc.links.SignalCallLinkManager
@@ -26,7 +26,7 @@ import org.thoughtcrime.securesms.service.webrtc.links.UpdateCallLinkResult
* All of these will delegate to the [SignalCallLinkManager] but will additionally update the database state.
*/
class UpdateCallLinkRepository(
private val callLinkManager: SignalCallLinkManager = ApplicationDependencies.getSignalCallManager().callLinkManager
private val callLinkManager: SignalCallLinkManager = AppDependencies.signalCallManager.callLinkManager
) {
fun setCallName(credentials: CallLinkCredentials, name: String): Single<UpdateCallLinkResult> {
return callLinkManager
@@ -60,11 +60,11 @@ class UpdateCallLinkRepository(
when (result) {
is UpdateCallLinkResult.Update -> {
SignalDatabase.callLinks.updateCallLinkState(credentials.roomId, result.state)
ApplicationDependencies.getJobManager().add(CallLinkUpdateSendJob(credentials.roomId))
AppDependencies.jobManager.add(CallLinkUpdateSendJob(credentials.roomId))
}
is UpdateCallLinkResult.Delete -> {
SignalDatabase.callLinks.markRevoked(credentials.roomId)
ApplicationDependencies.getJobManager().add(CallLinkUpdateSendJob(credentials.roomId))
AppDependencies.jobManager.add(CallLinkUpdateSendJob(credentials.roomId))
}
else -> {}
}

View File

@@ -9,7 +9,7 @@ import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.schedulers.Schedulers
import org.thoughtcrime.securesms.database.CallLinkTable
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.CallLinkUpdateSendJob
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
@@ -23,7 +23,7 @@ import org.whispersystems.signalservice.internal.push.SyncMessage
* but will also ensure the database is updated.
*/
class CreateCallLinkRepository(
private val callLinkManager: SignalCallLinkManager = ApplicationDependencies.getSignalCallManager().callLinkManager
private val callLinkManager: SignalCallLinkManager = AppDependencies.signalCallManager.callLinkManager
) {
fun ensureCallLinkCreated(credentials: CallLinkCredentials): Single<EnsureCallLinkCreatedResult> {
val callLinkRecipientId = Single.fromCallable {
@@ -46,7 +46,7 @@ class CreateCallLinkRepository(
)
)
ApplicationDependencies.getJobManager().add(
AppDependencies.jobManager.add(
CallLinkUpdateSendJob(
credentials.roomId,
SyncMessage.CallLinkUpdate.Type.UPDATE

View File

@@ -12,14 +12,14 @@ import io.reactivex.rxjava3.schedulers.Schedulers
import org.signal.core.util.concurrent.MaybeCompat
import org.signal.core.util.orNull
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkRoomId
import org.thoughtcrime.securesms.service.webrtc.links.ReadCallLinkResult
import org.thoughtcrime.securesms.service.webrtc.links.SignalCallLinkManager
class CallLinkDetailsRepository(
private val callLinkManager: SignalCallLinkManager = ApplicationDependencies.getSignalCallManager().callLinkManager
private val callLinkManager: SignalCallLinkManager = AppDependencies.signalCallManager.callLinkManager
) {
fun refreshCallLinkState(callLinkRoomId: CallLinkRoomId): Disposable {
return MaybeCompat.fromCallable { SignalDatabase.callLinks.getCallLinkByRoomId(callLinkRoomId) }

View File

@@ -55,7 +55,7 @@ import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationListFi
import org.thoughtcrime.securesms.conversationlist.chatfilter.FilterLerp
import org.thoughtcrime.securesms.conversationlist.chatfilter.FilterPullState
import org.thoughtcrime.securesms.databinding.CallLogFragmentBinding
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.main.Material3OnScrollHelperBinder
import org.thoughtcrime.securesms.main.SearchBinder
import org.thoughtcrime.securesms.recipients.Recipient
@@ -212,7 +212,7 @@ class CallLogFragment : Fragment(R.layout.call_log_fragment), CallLogAdapter.Cal
override fun onResume() {
super.onResume()
initializeSearchAction()
ApplicationDependencies.getDeletedCallEventManager().scheduleIfNecessary()
AppDependencies.deletedCallEventManager.scheduleIfNecessary()
viewModel.markAllCallEventsRead()
}

View File

@@ -9,7 +9,7 @@ import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import org.signal.core.util.concurrent.SignalExecutors
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkRoomId
import org.thoughtcrime.securesms.util.ThrottledDebouncer
@@ -157,8 +157,8 @@ class CallLogPeekHelper : DefaultLifecycleObserver {
items.forEach {
when (it.identifier.peekEntryType) {
PeekEntryType.CALL_LINK -> ApplicationDependencies.getSignalCallManager().peekCallLinkCall(it.recipientId)
PeekEntryType.GROUP_CALL -> ApplicationDependencies.getSignalCallManager().peekGroupCall(it.recipientId)
PeekEntryType.CALL_LINK -> AppDependencies.signalCallManager.peekCallLinkCall(it.recipientId)
PeekEntryType.GROUP_CALL -> AppDependencies.signalCallManager.peekGroupCall(it.recipientId)
}
}

View File

@@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.calls.links.UpdateCallLinkRepository
import org.thoughtcrime.securesms.database.CallLinkTable
import org.thoughtcrime.securesms.database.DatabaseObserver
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.CallLinkPeekJob
import org.thoughtcrime.securesms.jobs.CallLogEventSendJob
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkRoomId
@@ -52,7 +52,7 @@ class CallLogRepository(
SignalExecutors.BOUNDED_IO.execute {
val latestCall = SignalDatabase.calls.getLatestCall() ?: return@execute
SignalDatabase.calls.markAllCallEventsRead()
ApplicationDependencies.getJobManager().add(CallLogEventSendJob.forMarkedAsRead(latestCall))
AppDependencies.jobManager.add(CallLogEventSendJob.forMarkedAsRead(latestCall))
}
}
@@ -66,11 +66,11 @@ class CallLogRepository(
refresh()
}
ApplicationDependencies.getDatabaseObserver().registerConversationListObserver(databaseObserver)
ApplicationDependencies.getDatabaseObserver().registerCallUpdateObserver(databaseObserver)
AppDependencies.databaseObserver.registerConversationListObserver(databaseObserver)
AppDependencies.databaseObserver.registerCallUpdateObserver(databaseObserver)
emitter.setCancellable {
ApplicationDependencies.getDatabaseObserver().unregisterObserver(databaseObserver)
AppDependencies.databaseObserver.unregisterObserver(databaseObserver)
}
}
}
@@ -106,7 +106,7 @@ class CallLogRepository(
val latestCall = SignalDatabase.calls.getLatestCall() ?: return@withinTransaction
SignalDatabase.calls.deleteNonAdHocCallEventsOnOrBefore(latestCall.timestamp)
SignalDatabase.callLinks.deleteNonAdminCallLinksOnOrBefore(latestCall.timestamp)
ApplicationDependencies.getJobManager().add(CallLogEventSendJob.forClearHistory(latestCall))
AppDependencies.jobManager.add(CallLogEventSendJob.forClearHistory(latestCall))
}
SignalDatabase.callLinks.getAllAdminCallLinksExcept(emptySet())
@@ -180,7 +180,7 @@ class CallLogRepository(
CallLinkPeekJob(it.id)
}
ApplicationDependencies.getJobManager().addAll(jobs)
AppDependencies.jobManager.addAll(jobs)
}.subscribeOn(Schedulers.io())
}
}

View File

@@ -15,7 +15,7 @@ import org.signal.paging.ObservablePagedData
import org.signal.paging.PagedData
import org.signal.paging.PagingConfig
import org.signal.paging.ProxyPagingController
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.util.rx.RxStore
import java.util.concurrent.TimeUnit
@@ -88,8 +88,8 @@ class CallLogViewModel(
.flatMapCompletable { callLogRepository.peekCallLinks() }
.subscribe()
disposables += ApplicationDependencies
.getSignalCallManager()
disposables += AppDependencies
.signalCallManager
.peekInfoCache
.observeOn(Schedulers.computation())
.distinctUntilChanged()