mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 17:29:32 +01:00
Rewrite the AppDependencies system.
This commit is contained in:
committed by
Cody Henthorne
parent
a0131bf39b
commit
b6a4e1f145
@@ -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(),
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user