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

@@ -110,7 +110,7 @@ import org.thoughtcrime.securesms.database.MediaTable;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
import org.thoughtcrime.securesms.database.model.Quote;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.events.PartProgressEvent;
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicy;
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicyEnforcer;
@@ -2468,10 +2468,10 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
Log.i(TAG, "Scheduling push attachment downloads for " + slides.size() + " items");
for (Slide slide : slides) {
ApplicationDependencies.getJobManager().add(new AttachmentDownloadJob(messageRecord.getId(),
((DatabaseAttachment) slide.asAttachment()).attachmentId,
true,
false));
AppDependencies.getJobManager().add(new AttachmentDownloadJob(messageRecord.getId(),
((DatabaseAttachment) slide.asAttachment()).attachmentId,
true,
false));
}
}
}
@@ -2492,7 +2492,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
final DatabaseAttachment databaseAttachment = (DatabaseAttachment) slide.asAttachment();
if (databaseAttachment.transferState == AttachmentTable.TRANSFER_RESTORE_OFFLOADED) {
final AttachmentId attachmentId = databaseAttachment.attachmentId;
final JobManager jobManager = ApplicationDependencies.getJobManager();
final JobManager jobManager = AppDependencies.getJobManager();
final String queue = RestoreAttachmentJob.constructQueueString(attachmentId);
setup(v, slide);
jobManager.add(new RestoreAttachmentJob(messageRecord.getId(),
@@ -2507,7 +2507,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
});
} else if (databaseAttachment.transferState != AttachmentTable.TRANSFER_PROGRESS_STARTED) {
final AttachmentId attachmentId = databaseAttachment.attachmentId;
final JobManager jobManager = ApplicationDependencies.getJobManager();
final JobManager jobManager = AppDependencies.getJobManager();
final String queue = AttachmentDownloadJob.constructQueueString(attachmentId);
setup(v, slide);
jobManager.add(new AttachmentDownloadJob(messageRecord.getId(),

View File

@@ -13,7 +13,7 @@ import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.ThreadTable;
import org.thoughtcrime.securesms.database.model.GroupRecord;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.jobs.MultiDeviceViewedUpdateJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.mms.PartAuthority;
@@ -41,7 +41,7 @@ public class ConversationRepository {
private final Context context;
public ConversationRepository() {
this.context = ApplicationDependencies.getApplication();
this.context = AppDependencies.getApplication();
}
@WorkerThread

View File

@@ -22,7 +22,7 @@ import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.ThreadTable;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.database.model.ReactionRecord;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.notifications.MarkReadReceiver;
import org.thoughtcrime.securesms.notifications.v2.ConversationId;
import org.thoughtcrime.securesms.util.Debouncer;
@@ -66,7 +66,7 @@ public class MarkReadHelper {
Log.d(TAG, "Marking " + infos.size() + " messages as read.");
ApplicationDependencies.getMessageNotifier().updateNotification(context);
AppDependencies.getMessageNotifier().updateNotification(context);
MarkReadReceiver.process(infos);
MarkReadReceiver.processCallEvents(Collections.singletonList(conversationId), timestamp);
});

View File

@@ -8,7 +8,7 @@ import org.thoughtcrime.securesms.conversation.v2.data.AttachmentHelper
import org.thoughtcrime.securesms.database.DatabaseObserver
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.recipients.Recipient
/**
@@ -21,7 +21,7 @@ class ScheduledMessagesRepository {
*/
fun getScheduledMessages(context: Context, threadId: Long): Observable<List<ConversationMessage>> {
return Observable.create { emitter ->
val databaseObserver: DatabaseObserver = ApplicationDependencies.getDatabaseObserver()
val databaseObserver: DatabaseObserver = AppDependencies.databaseObserver
val observer = DatabaseObserver.Observer { emitter.onNext(getScheduledMessagesSync(context, threadId)) }
databaseObserver.registerScheduledMessageObserver(threadId, observer)
@@ -42,7 +42,7 @@ class ScheduledMessagesRepository {
attachmentHelper.fetchAttachments()
scheduledMessages = attachmentHelper.buildUpdatedModels(ApplicationDependencies.getApplication(), scheduledMessages)
scheduledMessages = attachmentHelper.buildUpdatedModels(AppDependencies.application, scheduledMessages)
val replies: List<ConversationMessage> = scheduledMessages
.map { ConversationMessage.ConversationMessageFactory.createWithUnresolvedData(context, it, threadRecipient) }
@@ -55,7 +55,7 @@ class ScheduledMessagesRepository {
*/
fun getScheduledMessageCount(threadId: Long): Observable<Int> {
return Observable.create { emitter ->
val databaseObserver: DatabaseObserver = ApplicationDependencies.getDatabaseObserver()
val databaseObserver: DatabaseObserver = AppDependencies.databaseObserver
val observer = DatabaseObserver.Observer { emitter.onNext(SignalDatabase.messages.getScheduledMessageCountForThread(threadId)) }
databaseObserver.registerScheduledMessageObserver(threadId, observer)

View File

@@ -7,7 +7,7 @@ package org.thoughtcrime.securesms.conversation.clicklisteners
import android.view.View
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.attachments.DatabaseAttachment
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.AttachmentCompressionJob
import org.thoughtcrime.securesms.jobs.AttachmentDownloadJob
import org.thoughtcrime.securesms.jobs.AttachmentUploadJob
@@ -17,7 +17,7 @@ import org.thoughtcrime.securesms.mms.SlidesClickedListener
internal class AttachmentCancelClickListener : SlidesClickedListener {
override fun onClick(v: View, slides: List<Slide>) {
Log.i(TAG, "Canceling compression/upload/download jobs for ${slides.size} items")
val jobManager = ApplicationDependencies.getJobManager()
val jobManager = AppDependencies.jobManager
var cancelCount = 0
for (slide in slides) {
val attachmentId = (slide.asAttachment() as DatabaseAttachment).attachmentId

View File

@@ -7,7 +7,7 @@ import org.thoughtcrime.securesms.conversation.colors.ChatColorsPalette
import org.thoughtcrime.securesms.database.ChatColorsTable
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.util.concurrent.SerialMonoLifoExecutor
import java.util.concurrent.Executor
@@ -18,11 +18,11 @@ class ChatColorsOptionsLiveData : LiveData<List<ChatColors>>() {
override fun onActive() {
refreshChatColors()
ApplicationDependencies.getDatabaseObserver().registerChatColorsObserver(observer)
AppDependencies.databaseObserver.registerChatColorsObserver(observer)
}
override fun onInactive() {
ApplicationDependencies.getDatabaseObserver().unregisterObserver(observer)
AppDependencies.databaseObserver.unregisterObserver(observer)
}
private fun refreshChatColors() {

View File

@@ -30,7 +30,7 @@ import org.thoughtcrime.securesms.database.model.MessageId
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyboard.KeyboardUtil
import org.thoughtcrime.securesms.mediasend.Media
import org.thoughtcrime.securesms.mms.GifSlide
@@ -50,7 +50,7 @@ import java.io.IOException
import java.util.concurrent.Executor
class DraftRepository(
private val context: Context = ApplicationDependencies.getApplication(),
private val context: Context = AppDependencies.application,
private val threadTable: ThreadTable = SignalDatabase.threads,
private val draftTable: DraftTable = SignalDatabase.drafts,
private val saveDraftsExecutor: Executor = SerialMonoLifoExecutor(SignalExecutors.BOUNDED),

View File

@@ -27,7 +27,7 @@ import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart
import org.thoughtcrime.securesms.database.model.MessageId
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ItemDecoration
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackController
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicy
@@ -53,7 +53,7 @@ class MessageQuotesBottomSheet : FixedRoundedCornerBottomSheetDialogFragment() {
factoryProducer = {
val messageId = MessageId.deserialize(arguments?.getString(KEY_MESSAGE_ID, null) ?: throw IllegalArgumentException())
val conversationRecipientId = RecipientId.from(arguments?.getString(KEY_CONVERSATION_RECIPIENT_ID, null) ?: throw IllegalArgumentException())
MessageQuotesViewModel.Factory(ApplicationDependencies.getApplication(), messageId, conversationRecipientId)
MessageQuotesViewModel.Factory(AppDependencies.application, messageId, conversationRecipientId)
}
)

View File

@@ -14,7 +14,7 @@ import org.thoughtcrime.securesms.database.model.MessageId
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
import org.thoughtcrime.securesms.database.model.Quote
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.util.getQuote
class MessageQuotesRepository {
@@ -35,7 +35,7 @@ class MessageQuotesRepository {
return@create
}
val databaseObserver: DatabaseObserver = ApplicationDependencies.getDatabaseObserver()
val databaseObserver: DatabaseObserver = AppDependencies.databaseObserver
val observer = DatabaseObserver.Observer { emitter.onNext(getMessagesInQuoteChainSync(application, messageId)) }
databaseObserver.registerConversationObserver(threadId, observer)
@@ -68,7 +68,7 @@ class MessageQuotesRepository {
attachmentHelper.fetchAttachments()
replyRecords = reactionHelper.buildUpdatedModels(replyRecords)
replyRecords = attachmentHelper.buildUpdatedModels(ApplicationDependencies.getApplication(), replyRecords)
replyRecords = attachmentHelper.buildUpdatedModels(AppDependencies.application, replyRecords)
val replies: List<ConversationMessage> = replyRecords
.map { replyRecord ->
@@ -98,7 +98,7 @@ class MessageQuotesRepository {
add(originalRecord)
fetchAttachments()
}
.buildUpdatedModels(ApplicationDependencies.getApplication(), listOf(originalRecord))
.buildUpdatedModels(AppDependencies.application, listOf(originalRecord))
.get(0)
val originalMessage: ConversationMessage = ConversationMessageFactory.createWithUnresolvedData(application, originalRecord, false, threadRecipient)

View File

@@ -7,7 +7,7 @@ import org.thoughtcrime.securesms.conversation.ConversationMessage
import org.thoughtcrime.securesms.conversation.v2.data.AttachmentHelper
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.notifications.MarkReadReceiver
import org.thoughtcrime.securesms.recipients.Recipient
@@ -21,7 +21,7 @@ object EditMessageHistoryRepository {
return@create
}
val databaseObserver: DatabaseObserver = ApplicationDependencies.getDatabaseObserver()
val databaseObserver: DatabaseObserver = AppDependencies.databaseObserver
val observer = DatabaseObserver.Observer { emitter.onNext(getEditHistorySync(messageId)) }
databaseObserver.registerConversationObserver(threadId, observer)
@@ -38,7 +38,7 @@ object EditMessageHistoryRepository {
}
private fun getEditHistorySync(messageId: Long): List<ConversationMessage> {
val context = ApplicationDependencies.getApplication()
val context = AppDependencies.application
val records = SignalDatabase
.messages
.getMessageEditHistory(messageId)

View File

@@ -23,7 +23,7 @@ import org.thoughtcrime.securesms.database.documents.IdentityKeyMismatch;
import org.thoughtcrime.securesms.database.model.IdentityRecord;
import org.thoughtcrime.securesms.database.model.MessageId;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.safety.SafetyNumberRecipient;
@@ -91,7 +91,7 @@ public final class SafetyNumberChangeRepository {
List<Recipient> recipients = Stream.of(recipientIds).map(Recipient::resolved).toList();
List<ChangedRecipient> changedRecipients = Stream.of(ApplicationDependencies.getProtocolStore().aci().identities().getIdentityRecords(recipients).getIdentityRecords())
List<ChangedRecipient> changedRecipients = Stream.of(AppDependencies.getProtocolStore().aci().identities().getIdentityRecords(recipients).getIdentityRecords())
.map(record -> new ChangedRecipient(Recipient.resolved(record.getRecipientId()), record))
.toList();
@@ -120,7 +120,7 @@ public final class SafetyNumberChangeRepository {
@WorkerThread
private TrustAndVerifyResult trustOrVerifyChangedRecipientsInternal(@NonNull List<ChangedRecipient> changedRecipients) {
SignalIdentityKeyStore identityStore = ApplicationDependencies.getProtocolStore().aci().identities();
SignalIdentityKeyStore identityStore = AppDependencies.getProtocolStore().aci().identities();
try (SignalSessionLock.Lock unused = ReentrantSessionLock.INSTANCE.acquire()) {
for (ChangedRecipient changedRecipient : changedRecipients) {
@@ -128,9 +128,9 @@ public final class SafetyNumberChangeRepository {
if (changedRecipient.isUnverified()) {
Log.d(TAG, "Setting " + identityRecord.getRecipientId() + " as verified");
ApplicationDependencies.getProtocolStore().aci().identities().setVerified(identityRecord.getRecipientId(),
identityRecord.getIdentityKey(),
IdentityTable.VerifiedStatus.DEFAULT);
AppDependencies.getProtocolStore().aci().identities().setVerified(identityRecord.getRecipientId(),
identityRecord.getIdentityKey(),
IdentityTable.VerifiedStatus.DEFAULT);
} else {
Log.d(TAG, "Setting " + identityRecord.getRecipientId() + " as approved");
identityStore.setApproval(identityRecord.getRecipientId(), true);
@@ -171,13 +171,13 @@ public final class SafetyNumberChangeRepository {
}
Log.d(TAG, "Saving identity for: " + changedRecipient.getRecipient().getId() + " " + newIdentityKey.hashCode());
SignalIdentityKeyStore.SaveResult result = ApplicationDependencies.getProtocolStore().aci().identities().saveIdentity(mismatchAddress, newIdentityKey, true);
SignalIdentityKeyStore.SaveResult result = AppDependencies.getProtocolStore().aci().identities().saveIdentity(mismatchAddress, newIdentityKey, true);
Log.d(TAG, "Saving identity result: " + result);
if (result == SignalIdentityKeyStore.SaveResult.NO_CHANGE) {
Log.i(TAG, "Archiving sessions explicitly as they appear to be out of sync.");
ApplicationDependencies.getProtocolStore().aci().sessions().archiveSessions(changedRecipient.getRecipient().getId(), SignalServiceAddress.DEFAULT_DEVICE_ID);
ApplicationDependencies.getProtocolStore().aci().sessions().archiveSiblingSessions(mismatchAddress);
AppDependencies.getProtocolStore().aci().sessions().archiveSessions(changedRecipient.getRecipient().getId(), SignalServiceAddress.DEFAULT_DEVICE_ID);
AppDependencies.getProtocolStore().aci().sessions().archiveSiblingSessions(mismatchAddress);
SignalDatabase.senderKeyShared().deleteAllFor(changedRecipient.getRecipient().getId());
}
}

View File

@@ -9,7 +9,7 @@ import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import org.thoughtcrime.securesms.conversation.ui.error.SafetyNumberChangeRepository.SafetyNumberChangeState;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil;
@@ -71,7 +71,7 @@ public final class SafetyNumberChangeViewModel extends ViewModel {
@Override
public @NonNull <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
SafetyNumberChangeRepository repo = new SafetyNumberChangeRepository(ApplicationDependencies.getApplication());
SafetyNumberChangeRepository repo = new SafetyNumberChangeRepository(AppDependencies.getApplication());
return Objects.requireNonNull(modelClass.cast(new SafetyNumberChangeViewModel(recipientIds, messageId, messageType, repo)));
}
}

View File

@@ -5,7 +5,7 @@ import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.schedulers.Schedulers
import io.reactivex.rxjava3.subjects.PublishSubject
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyboard.emoji.search.EmojiSearchRepository
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.TextSecurePreferences
@@ -17,8 +17,8 @@ import org.thoughtcrime.securesms.util.adapter.mapping.AnyMappingModel
* the results.
*/
class InlineQueryViewModel(
private val emojiSearchRepository: EmojiSearchRepository = EmojiSearchRepository(ApplicationDependencies.getApplication()),
private val recentEmojis: RecentEmojiPageModel = RecentEmojiPageModel(ApplicationDependencies.getApplication(), TextSecurePreferences.RECENT_STORAGE_KEY)
private val emojiSearchRepository: EmojiSearchRepository = EmojiSearchRepository(AppDependencies.application),
private val recentEmojis: RecentEmojiPageModel = RecentEmojiPageModel(AppDependencies.application, TextSecurePreferences.RECENT_STORAGE_KEY)
) : ViewModel() {
private val querySubject: PublishSubject<InlineQuery> = PublishSubject.create()

View File

@@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.conversation.ui.mentions.MentionViewState
import org.thoughtcrime.securesms.conversation.ui.mentions.MentionsPickerRepositoryV2
import org.thoughtcrime.securesms.conversation.v2.ConversationRecipientRepository
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyboard.emoji.search.EmojiSearchRepository
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.TextSecurePreferences
@@ -23,8 +23,8 @@ import org.thoughtcrime.securesms.util.adapter.mapping.AnyMappingModel
class InlineQueryViewModelV2(
private val recipientRepository: ConversationRecipientRepository,
private val mentionsPickerRepository: MentionsPickerRepositoryV2 = MentionsPickerRepositoryV2(),
private val emojiSearchRepository: EmojiSearchRepository = EmojiSearchRepository(ApplicationDependencies.getApplication()),
private val recentEmojis: RecentEmojiPageModel = RecentEmojiPageModel(ApplicationDependencies.getApplication(), TextSecurePreferences.RECENT_STORAGE_KEY)
private val emojiSearchRepository: EmojiSearchRepository = EmojiSearchRepository(AppDependencies.application),
private val recentEmojis: RecentEmojiPageModel = RecentEmojiPageModel(AppDependencies.application, TextSecurePreferences.RECENT_STORAGE_KEY)
) : ViewModel() {
private val querySubject: PublishSubject<InlineQuery> = PublishSubject.create()

View File

@@ -16,7 +16,7 @@ import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.contactshare.Contact
import org.thoughtcrime.securesms.contactshare.ContactUtil
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientExporter
@@ -33,7 +33,7 @@ class AddToContactsContract : ActivityResultContract<Intent, Unit>() {
override fun createIntent(context: Context, input: Intent): Intent = input
override fun parseResult(resultCode: Int, intent: Intent?) {
ApplicationDependencies.getJobManager().add(DirectoryRefreshJob(false))
AppDependencies.jobManager.add(DirectoryRefreshJob(false))
}
companion object {

View File

@@ -11,7 +11,7 @@ import org.signal.core.util.concurrent.SimpleTask
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.sms.MessageSender
import org.thoughtcrime.securesms.verify.VerifyIdentityActivity
@@ -50,7 +50,7 @@ object ConversationDialogs {
.setPositiveButton(R.string.ConversationFragment_verify) { d, _ ->
SimpleTask.run(
fragment.lifecycle,
{ ApplicationDependencies.getProtocolStore().aci().identities().getIdentityRecord(recipient.id) },
{ AppDependencies.protocolStore.aci().identities().getIdentityRecord(recipient.id) },
{ identityRecord ->
identityRecord.ifPresent {
VerifyIdentityActivity.startOrShowExchangeMessagesDialog(fragment.requireContext(), identityRecord.get())

View File

@@ -207,7 +207,7 @@ import org.thoughtcrime.securesms.database.model.Quote
import org.thoughtcrime.securesms.database.model.StickerRecord
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
import org.thoughtcrime.securesms.databinding.V2ConversationFragmentBinding
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.events.GroupCallPeekEvent
import org.thoughtcrime.securesms.events.ReminderUpdateEvent
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ItemDecoration
@@ -469,7 +469,7 @@ class ConversationFragment :
private val conversationTooltips = ConversationTooltips(this)
private val colorizer = Colorizer()
private val textDraftSaveDebouncer = Debouncer(500)
private val recentEmojis: RecentEmojiPageModel by lazy { RecentEmojiPageModel(ApplicationDependencies.getApplication(), TextSecurePreferences.RECENT_STORAGE_KEY) }
private val recentEmojis: RecentEmojiPageModel by lazy { RecentEmojiPageModel(AppDependencies.application, TextSecurePreferences.RECENT_STORAGE_KEY) }
private lateinit var layoutManager: ConversationLayoutManager
private lateinit var markReadHelper: MarkReadHelper
@@ -636,7 +636,7 @@ class ConversationFragment :
groupCallViewModel.peekGroupCall()
if (!args.conversationScreenType.isInBubble) {
ApplicationDependencies.getMessageNotifier().setVisibleThread(ConversationId.forConversation(args.threadId))
AppDependencies.messageNotifier.setVisibleThread(ConversationId.forConversation(args.threadId))
}
viewModel.updateIdentityRecordsInBackground()
@@ -666,7 +666,7 @@ class ConversationFragment :
ConversationUtil.refreshRecipientShortcuts()
if (!args.conversationScreenType.isInBubble) {
ApplicationDependencies.getMessageNotifier().clearVisibleThread()
AppDependencies.messageNotifier.clearVisibleThread()
}
if (activity?.isFinishing == true) {
@@ -1118,7 +1118,7 @@ class ConversationFragment :
}
})
ApplicationDependencies.getTypingStatusRepository().getTypists(args.threadId).observe(viewLifecycleOwner) {
AppDependencies.typingStatusRepository.getTypists(args.threadId).observe(viewLifecycleOwner) {
val recipient = viewModel.recipientSnapshot ?: return@observe
typingIndicatorAdapter.setState(
@@ -3934,7 +3934,7 @@ class ConversationFragment :
return
}
val typingStatusSender = ApplicationDependencies.getTypingStatusSender()
val typingStatusSender = AppDependencies.typingStatusSender
if (text.length == 0) {
typingStatusSender.onTypingStoppedWithNotify(args.threadId)
} else if (text.length < previousText.length && previousText.contains(text)) {

View File

@@ -70,7 +70,7 @@ import org.thoughtcrime.securesms.database.model.Quote
import org.thoughtcrime.securesms.database.model.ReactionRecord
import org.thoughtcrime.securesms.database.model.StickerRecord
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.MultiDeviceViewOnceOpenJob
import org.thoughtcrime.securesms.jobs.ServiceOutageDetectionJob
import org.thoughtcrime.securesms.keyboard.KeyboardUtil
@@ -226,7 +226,7 @@ class ConversationRepository(
if (preUploadResults.isEmpty()) {
MessageSender.send(
ApplicationDependencies.getApplication(),
AppDependencies.application,
message,
threadId,
MessageSender.SendType.SIGNAL,
@@ -236,7 +236,7 @@ class ConversationRepository(
}
} else {
MessageSender.sendPushWithPreUploadedMedia(
ApplicationDependencies.getApplication(),
AppDependencies.application,
message,
preUploadResults,
threadId
@@ -308,7 +308,7 @@ class ConversationRepository(
ExpiredBuildReminder.isEligible() -> ExpiredBuildReminder(applicationContext)
UnauthorizedReminder.isEligible(applicationContext) -> UnauthorizedReminder()
ServiceOutageReminder.isEligible(applicationContext) -> {
ApplicationDependencies.getJobManager().add(ServiceOutageDetectionJob())
AppDependencies.jobManager.add(ServiceOutageDetectionJob())
ServiceOutageReminder()
}
@@ -342,7 +342,7 @@ class ConversationRepository(
emptyList()
}
val records = ApplicationDependencies.getProtocolStore().aci().identities().getIdentityRecords(recipients)
val records = AppDependencies.protocolStore.aci().identities().getIdentityRecords(recipients)
val isVerified = recipient.registered == RecipientTable.RegisteredState.REGISTERED &&
Recipient.self().isRegistered &&
records.isVerified &&
@@ -355,7 +355,7 @@ class ConversationRepository(
fun resetVerifiedStatusToDefault(unverifiedIdentities: List<IdentityRecord>): Completable {
return Completable.fromCallable {
ReentrantSessionLock.INSTANCE.acquire().use {
val identityStore = ApplicationDependencies.getProtocolStore().aci().identities()
val identityStore = AppDependencies.protocolStore.aci().identities()
for ((recipientId, identityKey) in unverifiedIdentities) {
identityStore.setVerified(recipientId, identityKey, VerifiedStatus.DEFAULT)
}
@@ -421,8 +421,8 @@ class ConversationRepository(
.createForSingleSessionOnDisk(applicationContext)
attachments.deleteAttachmentFilesForViewOnceMessage(mmsMessageRecord.id)
ApplicationDependencies.getViewOnceMessageManager().scheduleIfNecessary()
ApplicationDependencies.getJobManager().add(MultiDeviceViewOnceOpenJob(MessageTable.SyncMessageId(mmsMessageRecord.fromRecipient.id, mmsMessageRecord.dateSent)))
AppDependencies.viewOnceMessageManager.scheduleIfNecessary()
AppDependencies.jobManager.add(MultiDeviceViewOnceOpenJob(MessageTable.SyncMessageId(mmsMessageRecord.fromRecipient.id, mmsMessageRecord.dateSent)))
tempUri
} catch (e: IOException) {
@@ -576,7 +576,7 @@ class ConversationRepository(
fun startExpirationTimeout(expirationInfos: List<MessageTable.ExpirationInfo>) {
SignalDatabase.messages.markExpireStarted(expirationInfos.map { it.id to it.expireStarted })
ApplicationDependencies.getExpiringMessageManager().scheduleDeletion(expirationInfos)
AppDependencies.expiringMessageManager.scheduleDeletion(expirationInfos)
}
fun markLastSeen(threadId: Long) {

View File

@@ -52,7 +52,7 @@ import org.thoughtcrime.securesms.database.model.ReactionRecord
import org.thoughtcrime.securesms.database.model.StickerRecord
import org.thoughtcrime.securesms.database.model.StoryViewState
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.RetrieveProfileJob
import org.thoughtcrime.securesms.keyboard.KeyboardUtil
import org.thoughtcrime.securesms.keyvalue.SignalStore
@@ -199,14 +199,14 @@ class ConversationViewModel(
controller.onDataInvalidated()
}
ApplicationDependencies.getDatabaseObserver().registerMessageUpdateObserver(messageUpdateObserver)
ApplicationDependencies.getDatabaseObserver().registerMessageInsertObserver(threadId, messageInsertObserver)
ApplicationDependencies.getDatabaseObserver().registerConversationObserver(threadId, conversationObserver)
AppDependencies.databaseObserver.registerMessageUpdateObserver(messageUpdateObserver)
AppDependencies.databaseObserver.registerMessageInsertObserver(threadId, messageInsertObserver)
AppDependencies.databaseObserver.registerConversationObserver(threadId, conversationObserver)
emitter.setCancellable {
ApplicationDependencies.getDatabaseObserver().unregisterObserver(messageUpdateObserver)
ApplicationDependencies.getDatabaseObserver().unregisterObserver(messageInsertObserver)
ApplicationDependencies.getDatabaseObserver().unregisterObserver(conversationObserver)
AppDependencies.databaseObserver.unregisterObserver(messageUpdateObserver)
AppDependencies.databaseObserver.unregisterObserver(messageInsertObserver)
AppDependencies.databaseObserver.unregisterObserver(conversationObserver)
}
}
}.subscribeOn(Schedulers.io()).subscribe()
@@ -241,7 +241,7 @@ class ConversationViewModel(
messageRequestState = messageRequestRepository.getMessageRequestState(recipient, threadId),
groupRecord = groupRecord.orNull(),
isClientExpired = SignalStore.misc().isClientDeprecated,
isUnauthorized = TextSecurePreferences.isUnauthorizedReceived(ApplicationDependencies.getApplication()),
isUnauthorized = TextSecurePreferences.isUnauthorizedReceived(AppDependencies.application),
threadContainsSms = !recipient.isRegistered && !recipient.isPushGroup && !recipient.isSelf && messageRequestRepository.threadContainsSms(threadId)
)
}.doOnNext {

View File

@@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.database.model.InMemoryMessageRecord.RemovedCo
import org.thoughtcrime.securesms.database.model.InMemoryMessageRecord.UniversalExpireTimerUpdate
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.messagerequests.MessageRequestRepository
import org.thoughtcrime.securesms.recipients.Recipient
@@ -196,7 +196,7 @@ class ConversationDataSource(
return ConversationMessageFactory.createWithUnresolvedData(
localContext,
record,
record.getDisplayBody(ApplicationDependencies.getApplication()),
record.getDisplayBody(AppDependencies.application),
extraData.mentionsById[record.id],
extraData.hasBeenQuoted.contains(record.id),
threadRecipient

View File

@@ -18,7 +18,7 @@ import org.thoughtcrime.securesms.database.model.withAttachments
import org.thoughtcrime.securesms.database.model.withCall
import org.thoughtcrime.securesms.database.model.withPayment
import org.thoughtcrime.securesms.database.model.withReactions
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.payments.Payment
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
@@ -52,7 +52,7 @@ object MessageDataFetcher {
@WorkerThread
fun fetch(messageRecords: List<MessageRecord>): ExtraMessageData {
val startTimeNanos = System.nanoTime()
val context = ApplicationDependencies.getApplication()
val context = AppDependencies.application
val messageIds: List<Long> = messageRecords.map { it.id }
val executor = SignalExecutors.BOUNDED

View File

@@ -10,7 +10,7 @@ import io.reactivex.rxjava3.processors.PublishProcessor
import io.reactivex.rxjava3.schedulers.Schedulers
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.conversation.v2.ConversationRecipientRepository
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.events.GroupCallPeekEvent
import org.thoughtcrime.securesms.util.rx.RxStore
@@ -60,7 +60,7 @@ class ConversationGroupCallViewModel(
.subscribeBy { s: ConversationGroupCallState ->
if (s.recipientId != null && s.activeV2Group) {
Log.i(TAG, "Peek call for ${s.recipientId}")
ApplicationDependencies.getSignalCallManager().peekGroupCall(s.recipientId)
AppDependencies.signalCallManager.peekGroupCall(s.recipientId)
}
}
.addTo(disposables)

View File

@@ -16,7 +16,7 @@ import org.signal.core.util.concurrent.subscribeWithSubject
import org.thoughtcrime.securesms.conversation.v2.ConversationRecipientRepository
import org.thoughtcrime.securesms.database.GroupTable
import org.thoughtcrime.securesms.database.model.GroupRecord
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.groups.GroupId
import org.thoughtcrime.securesms.groups.ui.GroupChangeFailureReason
import org.thoughtcrime.securesms.groups.v2.GroupBlockJoinRequestResult
@@ -123,7 +123,7 @@ class ConversationGroupViewModel(
.filter { it.isPushV2Group && !it.isBlocked }
.subscribe {
val groupId = it.requireGroupId().requireV2()
ApplicationDependencies.getJobManager()
AppDependencies.jobManager
.startChain(RequestGroupV2InfoJob(groupId))
.then(GroupV2UpdateSelfProfileKeyJob.withoutLimits(groupId))
.enqueue()

View File

@@ -41,7 +41,7 @@ import org.thoughtcrime.securesms.conversation.v2.computed.FormattedDate
import org.thoughtcrime.securesms.conversation.v2.data.ConversationMessageElement
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientForeverObserver
@@ -506,7 +506,7 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
timer.startAnimation()
if (record.expireStarted + record.expiresIn <= System.currentTimeMillis()) {
ApplicationDependencies.getExpiringMessageManager().checkSchedule()
AppDependencies.expiringMessageManager.checkSchedule()
}
} else if (!record.isOutgoing && !record.isMediaPending) {
conversationContext.onStartExpirationTimeout(record)