Cleanup - Methods renaming and removing unused code
- Removed messageDraftResult LiveData as not used anymore - Removed setOfflineDraftSaved as value was set but never read - Rename findMessageByIdBlocking method to change non-blocking method to using dispatcher from constructor
This commit is contained in:
parent
c089f67131
commit
5380a01bc1
|
@ -142,7 +142,7 @@ class MailboxViewModel @ViewModelInject constructor(
|
|||
withContext(Dispatchers.Default) {
|
||||
while (iterator.hasNext()) {
|
||||
val messageId = iterator.next()
|
||||
val message = messageDetailsRepository.findMessageById(messageId, Dispatchers.Default)
|
||||
val message = messageDetailsRepository.findMessageById(messageId)
|
||||
|
||||
if (message != null) {
|
||||
val currentLabelsIds = message.labelIDsNotIncludingLocations
|
||||
|
|
|
@ -2217,7 +2217,6 @@ public class ComposeMessageActivity
|
|||
|
||||
Message localMessage = messageEvent.getContentIfNotHandled();
|
||||
if (localMessage != null) {
|
||||
composeMessageViewModel.setOfflineDraftSaved(false);
|
||||
|
||||
String aliasAddress = composeMessageViewModel.getMessageDataResult().getAddressEmailAlias();
|
||||
MessageSender messageSender;
|
||||
|
|
|
@ -54,7 +54,6 @@ class MessageBuilderData(
|
|||
val isRespondInlineChecked: Boolean,
|
||||
val showImages: Boolean,
|
||||
val showRemoteContent: Boolean,
|
||||
val offlineDraftSaved: Boolean,
|
||||
val initialMessageContent: String,
|
||||
val decryptedMessage: String,
|
||||
val isMessageBodyVisible: Boolean,
|
||||
|
@ -90,7 +89,6 @@ class MessageBuilderData(
|
|||
private var isRespondInlineChecked: Boolean = false
|
||||
private var showImages: Boolean = false
|
||||
private var showRemoteContent: Boolean = false
|
||||
private var offlineDraftSaved: Boolean = false
|
||||
private var initialMessageContent: String = ""
|
||||
private var decryptedMessage: String = ""
|
||||
private var isMessageBodyVisible: Boolean = false
|
||||
|
@ -129,7 +127,6 @@ class MessageBuilderData(
|
|||
this.isRespondInlineChecked = oldObject.isRespondInlineChecked
|
||||
this.showImages = oldObject.showImages
|
||||
this.showRemoteContent = oldObject.showRemoteContent
|
||||
this.offlineDraftSaved = oldObject.offlineDraftSaved
|
||||
this.initialMessageContent = oldObject.initialMessageContent
|
||||
this.isMessageBodyVisible = oldObject.isMessageBodyVisible
|
||||
this.quotedHeader = oldObject.quotedHeader
|
||||
|
@ -218,9 +215,6 @@ class MessageBuilderData(
|
|||
fun showRemoteContent(showRemoteContent: Boolean) =
|
||||
apply { this.showRemoteContent = showRemoteContent }
|
||||
|
||||
fun offlineDraftSaved(offlineDraftSaved: Boolean) =
|
||||
apply { this.offlineDraftSaved = offlineDraftSaved }
|
||||
|
||||
fun initialMessageContent(initialMessageContent: String) =
|
||||
apply { this.initialMessageContent = initialMessageContent }
|
||||
|
||||
|
@ -265,7 +259,6 @@ class MessageBuilderData(
|
|||
isRespondInlineChecked,
|
||||
showImages,
|
||||
showRemoteContent,
|
||||
offlineDraftSaved,
|
||||
initialMessageContent,
|
||||
decryptedMessage,
|
||||
isMessageBodyVisible,
|
||||
|
|
|
@ -1771,7 +1771,7 @@ class MailboxActivity :
|
|||
) : AsyncTask<Unit, Unit, Message>() {
|
||||
|
||||
override fun doInBackground(vararg params: Unit): Message? =
|
||||
messageDetailsRepository.findMessageById(message.messageId!!)
|
||||
messageDetailsRepository.findMessageByIdBlocking(message.messageId!!)
|
||||
|
||||
public override fun onPostExecute(savedMessage: Message?) {
|
||||
val mailboxActivity = mailboxActivity.get()
|
||||
|
|
|
@ -22,7 +22,6 @@ import android.os.AsyncTask
|
|||
import ch.protonmail.android.activities.messageDetails.repository.MessageDetailsRepository
|
||||
import ch.protonmail.android.adapters.messages.MessagesRecyclerViewAdapter
|
||||
import ch.protonmail.android.events.ParentEvent
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
|
||||
internal class OnParentEventTask(private val messageDetailsRepository: MessageDetailsRepository,
|
||||
|
@ -33,7 +32,7 @@ internal class OnParentEventTask(private val messageDetailsRepository: MessageDe
|
|||
|
||||
runBlocking {
|
||||
val messageId = event.parentId
|
||||
messageDetailsRepository.findMessageById(messageId, Dispatchers.IO)?.apply {
|
||||
messageDetailsRepository.findMessageById(messageId)?.apply {
|
||||
isReplied = event.isReplied == 1
|
||||
isRepliedAll = event.isRepliedAll == 1
|
||||
isForwarded = event.isForwarded == 1
|
||||
|
|
|
@ -23,7 +23,9 @@ import androidx.fragment.app.FragmentManager
|
|||
import ch.protonmail.android.activities.dialogs.ManageLabelsDialogFragment
|
||||
import ch.protonmail.android.activities.messageDetails.repository.MessageDetailsRepository
|
||||
import ch.protonmail.android.api.models.room.messages.Message
|
||||
import java.util.*
|
||||
import java.util.ArrayList
|
||||
import java.util.HashMap
|
||||
import java.util.HashSet
|
||||
|
||||
/**
|
||||
* Created by Kamil Rajtar on 24.07.18.
|
||||
|
@ -33,7 +35,7 @@ internal class ShowLabelsManagerDialogTask(private val fragmentManager: Fragment
|
|||
private val messageIds:List<String>):AsyncTask<Void,Void,List<Message>>() {
|
||||
|
||||
override fun doInBackground(vararg voids:Void):List<Message> {
|
||||
return messageIds.filter {!it.isEmpty()}.mapNotNull(messageDetailsRepository::findMessageById)
|
||||
return messageIds.filter { !it.isEmpty() }.mapNotNull(messageDetailsRepository::findMessageByIdBlocking)
|
||||
}
|
||||
|
||||
override fun onPostExecute(messages:List<Message>) {
|
||||
|
|
|
@ -88,29 +88,29 @@ class MessageDetailsRepository @Inject constructor(
|
|||
}
|
||||
|
||||
fun findMessageByIdAsync(messageId: String): LiveData<Message> =
|
||||
messagesDao.findMessageByIdAsync(messageId).asyncMap(readMessageBodyFromFileIfNeeded)
|
||||
messagesDao.findMessageByIdAsync(messageId).asyncMap(readMessageBodyFromFileIfNeeded)
|
||||
|
||||
fun findSearchMessageByIdAsync(messageId: String): LiveData<Message> =
|
||||
searchDatabaseDao.findMessageByIdAsync(messageId).asyncMap(readMessageBodyFromFileIfNeeded)
|
||||
searchDatabaseDao.findMessageByIdAsync(messageId).asyncMap(readMessageBodyFromFileIfNeeded)
|
||||
|
||||
suspend fun findMessageById(messageId: String, dispatcher: CoroutineDispatcher) =
|
||||
withContext(dispatcher) {
|
||||
findMessageById(messageId)
|
||||
}
|
||||
suspend fun findMessageById(messageId: String) =
|
||||
withContext(dispatchers.Io) {
|
||||
findMessageByIdBlocking(messageId)
|
||||
}
|
||||
|
||||
suspend fun findSearchMessageById(messageId: String, dispatcher: CoroutineDispatcher) =
|
||||
withContext(dispatcher) {
|
||||
searchDatabaseDao.findMessageById(messageId)?.apply { readMessageBodyFromFileIfNeeded(this) }
|
||||
}
|
||||
withContext(dispatcher) {
|
||||
searchDatabaseDao.findMessageById(messageId)?.apply { readMessageBodyFromFileIfNeeded(this) }
|
||||
}
|
||||
|
||||
|
||||
suspend fun findMessageByMessageDbId(dbId: Long, dispatcher: CoroutineDispatcher) : Message? =
|
||||
withContext(dispatcher) {
|
||||
suspend fun findMessageByMessageDbId(dbId: Long, dispatcher: CoroutineDispatcher): Message? =
|
||||
withContext(dispatcher) {
|
||||
findMessageByMessageDbId(dbId)
|
||||
}
|
||||
|
||||
fun findMessageById(messageId: String): Message? =
|
||||
messagesDao.findMessageById(messageId)?.apply { readMessageBodyFromFileIfNeeded(this) }
|
||||
fun findMessageByIdBlocking(messageId: String): Message? =
|
||||
messagesDao.findMessageById(messageId)?.apply { readMessageBodyFromFileIfNeeded(this) }
|
||||
|
||||
fun findSearchMessageById(messageId: String): Message? =
|
||||
searchDatabaseDao.findMessageById(messageId)?.apply { readMessageBodyFromFileIfNeeded(this) }
|
||||
|
|
|
@ -425,7 +425,7 @@ internal class MessageDetailsViewModel @ViewModelInject constructor(
|
|||
}
|
||||
|
||||
} else {
|
||||
val savedMessage = findMessageById(messageId, dispatchers.Io)
|
||||
val savedMessage = findMessageById(messageId)
|
||||
if (savedMessage != null) {
|
||||
messageResponse.message.writeTo(savedMessage)
|
||||
saveMessageInDB(savedMessage)
|
||||
|
|
|
@ -360,7 +360,7 @@ class EventHandler @AssistedInject constructor(
|
|||
when (type) {
|
||||
EventType.CREATE -> {
|
||||
try {
|
||||
val savedMessage = messageDetailsRepository.findMessageById(messageID)
|
||||
val savedMessage = messageDetailsRepository.findMessageByIdBlocking(messageID)
|
||||
savedMessage.ifNullElse(
|
||||
{
|
||||
messageDetailsRepository.saveMessageInDB(messageFactory.createMessage(event.message))
|
||||
|
@ -375,7 +375,7 @@ class EventHandler @AssistedInject constructor(
|
|||
}
|
||||
|
||||
EventType.DELETE -> {
|
||||
val message = messageDetailsRepository.findMessageById(messageID)
|
||||
val message = messageDetailsRepository.findMessageByIdBlocking(messageID)
|
||||
if (message != null) {
|
||||
messagesDatabase.deleteMessage(message)
|
||||
}
|
||||
|
@ -383,7 +383,7 @@ class EventHandler @AssistedInject constructor(
|
|||
|
||||
EventType.UPDATE -> {
|
||||
// update Message body
|
||||
val message = messageDetailsRepository.findMessageById(messageID)
|
||||
val message = messageDetailsRepository.findMessageByIdBlocking(messageID)
|
||||
stagedMessages[messageID]?.let {
|
||||
val dbTime = message?.time ?: 0
|
||||
val serverTime = it.time
|
||||
|
@ -414,7 +414,7 @@ class EventHandler @AssistedInject constructor(
|
|||
messageID: String,
|
||||
item: EventResponse.MessageEventBody
|
||||
) {
|
||||
val message = messageDetailsRepository.findMessageById(messageID)
|
||||
val message = messageDetailsRepository.findMessageByIdBlocking(messageID)
|
||||
val newMessage = item.message
|
||||
|
||||
if (message != null) {
|
||||
|
|
|
@ -240,7 +240,7 @@ class MessagesService : JobIntentService() {
|
|||
if (refreshMessages) messageDetailsRepository.deleteMessagesByLocation(location)
|
||||
messageList.asSequence().map { msg ->
|
||||
unixTime = msg.time
|
||||
val savedMessage = messageDetailsRepository.findMessageById(msg.messageId!!)
|
||||
val savedMessage = messageDetailsRepository.findMessageByIdBlocking(msg.messageId!!)
|
||||
msg.setLabelIDs(msg.getEventLabelIDs())
|
||||
msg.location = location.messageLocationTypeValue
|
||||
msg.setFolderLocation(messagesDb)
|
||||
|
@ -312,7 +312,7 @@ class MessagesService : JobIntentService() {
|
|||
if (refreshMessages) messageDetailsRepository.deleteMessagesByLabel(labelId)
|
||||
messageList.asSequence().map { msg ->
|
||||
unixTime = msg.time
|
||||
val savedMessage = messageDetailsRepository.findMessageById(msg.messageId!!)
|
||||
val savedMessage = messageDetailsRepository.findMessageByIdBlocking(msg.messageId!!)
|
||||
msg.setLabelIDs(msg.getEventLabelIDs())
|
||||
msg.location = location.messageLocationTypeValue
|
||||
msg.setFolderLocation(messagesDb)
|
||||
|
|
|
@ -109,7 +109,7 @@ class DownloadEmbeddedAttachmentsWorker @WorkerInject constructor(
|
|||
if (message != null) { // use search or standard message database, if Message comes from search
|
||||
attachments = messageDetailsRepository.findSearchAttachmentsByMessageId(messageId)
|
||||
} else {
|
||||
message = messageDetailsRepository.findMessageById(messageId)
|
||||
message = messageDetailsRepository.findMessageByIdBlocking(messageId)
|
||||
attachments = messageDetailsRepository.findAttachmentsByMessageId(messageId)
|
||||
}
|
||||
|
||||
|
|
|
@ -150,7 +150,7 @@ class ComposeMessageRepository @Inject constructor(
|
|||
withContext(dispatcher) {
|
||||
var message: Message? = null
|
||||
if (!TextUtils.isEmpty(draftId)) {
|
||||
message = messageDetailsRepository.findMessageById(draftId)
|
||||
message = messageDetailsRepository.findMessageByIdBlocking(draftId)
|
||||
}
|
||||
message
|
||||
}
|
||||
|
@ -216,7 +216,7 @@ class ComposeMessageRepository @Inject constructor(
|
|||
|
||||
fun markMessageRead(messageId: String) {
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
messageDetailsRepository.findMessageById(messageId)?.let { savedMessage ->
|
||||
messageDetailsRepository.findMessageByIdBlocking(messageId)?.let { savedMessage ->
|
||||
val read = savedMessage.isRead
|
||||
if (!read) {
|
||||
jobManager.addJobInBackground(PostReadJob(listOf(savedMessage.messageId)))
|
||||
|
|
|
@ -108,7 +108,6 @@ class ComposeMessageViewModel @Inject constructor(
|
|||
private val _loadingDraftResult: MutableLiveData<Message> = MutableLiveData()
|
||||
private val _messageResultError: MutableLiveData<Event<PostResult>> = MutableLiveData()
|
||||
private val _openAttachmentsScreenResult: MutableLiveData<List<LocalAttachment>> = MutableLiveData()
|
||||
private val _messageDraftResult: MutableLiveData<Message> = MutableLiveData()
|
||||
private val _buildingMessageCompleted: MutableLiveData<Event<Message>> = MutableLiveData()
|
||||
private val _dbIdWatcher: MutableLiveData<Long> = MutableLiveData()
|
||||
private val _fetchMessageDetailsEvent: MutableLiveData<Event<MessageBuilderData>> = MutableLiveData()
|
||||
|
@ -212,9 +211,6 @@ class ComposeMessageViewModel @Inject constructor(
|
|||
get() = _parentId
|
||||
// endregion
|
||||
|
||||
val messageDraftResult: LiveData<Message>
|
||||
get() = _messageDraftResult
|
||||
|
||||
private val loggedInUsernames = if (userManager.user.combinedContacts) {
|
||||
AccountManager.getInstance(ProtonMailApplication.getApplication().applicationContext).getLoggedInUsers()
|
||||
} else {
|
||||
|
@ -428,7 +424,6 @@ class ComposeMessageViewModel @Inject constructor(
|
|||
//endregion
|
||||
} else {
|
||||
//region new draft here
|
||||
setOfflineDraftSaved(true)
|
||||
if (draftId.isEmpty() && message.messageId.isNullOrEmpty()) {
|
||||
val newDraftId = UUID.randomUUID().toString()
|
||||
_draftId.set(newDraftId)
|
||||
|
@ -474,20 +469,18 @@ class ComposeMessageViewModel @Inject constructor(
|
|||
}
|
||||
|
||||
private suspend fun onDraftSaved(savedDraftId: String) {
|
||||
withContext(dispatchers.Io) {
|
||||
val draft = requireNotNull(messageDetailsRepository.findMessageById(savedDraftId))
|
||||
val draft = requireNotNull(messageDetailsRepository.findMessageById(savedDraftId))
|
||||
|
||||
viewModelScope.launch(dispatchers.Main) {
|
||||
if (_draftId.get().isNotEmpty() && draft.messageId.isNullOrEmpty().not()) {
|
||||
draft.localId?.let {
|
||||
composeMessageRepository.deleteMessageById(it)
|
||||
}
|
||||
viewModelScope.launch(dispatchers.Main) {
|
||||
if (_draftId.get().isNotEmpty() && draft.messageId.isNullOrEmpty().not()) {
|
||||
draft.localId?.let {
|
||||
composeMessageRepository.deleteMessageById(it)
|
||||
}
|
||||
_draftId.set(draft.messageId)
|
||||
watchForMessageSent()
|
||||
}
|
||||
_savingDraftComplete.postValue(draft)
|
||||
_draftId.set(draft.messageId)
|
||||
watchForMessageSent()
|
||||
}
|
||||
_savingDraftComplete.postValue(draft)
|
||||
}
|
||||
|
||||
private suspend fun calculateNewAttachments(uploadAttachments: Boolean): List<String> {
|
||||
|
@ -1100,13 +1093,6 @@ class ComposeMessageViewModel @Inject constructor(
|
|||
.build()
|
||||
}
|
||||
|
||||
fun setOfflineDraftSaved(offlineDraftSaved: Boolean) {
|
||||
_messageDataResult = MessageBuilderData.Builder()
|
||||
.fromOld(_messageDataResult)
|
||||
.offlineDraftSaved(offlineDraftSaved)
|
||||
.build()
|
||||
}
|
||||
|
||||
fun setInitialMessageContent(initialMessageContent: String) {
|
||||
_messageDataResult = MessageBuilderData.Builder()
|
||||
.fromOld(_messageDataResult)
|
||||
|
|
|
@ -167,7 +167,7 @@ class ProcessPushNotificationDataWorker @WorkerInject constructor(
|
|||
} else {
|
||||
fetchMessageMetadata(messageId)
|
||||
}
|
||||
?: messageDetailsRepository.findMessageById(messageId)
|
||||
?: messageDetailsRepository.findMessageByIdBlocking(messageId)
|
||||
}
|
||||
|
||||
private fun fetchMessageMetadata(messageId: String): Message? {
|
||||
|
@ -180,7 +180,7 @@ class ProcessPushNotificationDataWorker @WorkerInject constructor(
|
|||
message = messages[0]
|
||||
}
|
||||
if (message != null) {
|
||||
val savedMessage = messageDetailsRepository.findMessageById(message.messageId!!)
|
||||
val savedMessage = messageDetailsRepository.findMessageByIdBlocking(message.messageId!!)
|
||||
if (savedMessage != null) {
|
||||
message.isInline = savedMessage.isInline
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ class ProcessPushNotificationDataWorker @WorkerInject constructor(
|
|||
messageDetailsRepository.saveMessageInDB(message)
|
||||
} else {
|
||||
// check if the message is already in local store
|
||||
message = messageDetailsRepository.findMessageById(messageId)
|
||||
message = messageDetailsRepository.findMessageByIdBlocking(messageId)
|
||||
}
|
||||
}
|
||||
} catch (error: Exception) {
|
||||
|
@ -202,7 +202,7 @@ class ProcessPushNotificationDataWorker @WorkerInject constructor(
|
|||
try {
|
||||
val messageResponse: MessageResponse = protonMailApiManager.messageDetail(messageId)
|
||||
message = messageResponse.message
|
||||
val savedMessage = messageDetailsRepository.findMessageById(messageId)
|
||||
val savedMessage = messageDetailsRepository.findMessageByIdBlocking(messageId)
|
||||
if (savedMessage != null) {
|
||||
message.isInline = savedMessage.isInline
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ public class ApplyLabelJob extends ProtonMailEndlessJob {
|
|||
.getDatabase();
|
||||
int totalUnread = 0;
|
||||
for (String messageId : messageIds) {
|
||||
Message message = getMessageDetailsRepository().findMessageById(messageId);
|
||||
Message message = getMessageDetailsRepository().findMessageByIdBlocking(messageId);
|
||||
if (message == null) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -128,7 +128,7 @@ public class CreateAndPostDraftJob extends ProtonMailBaseJob {
|
|||
newDraft.setParentID(mParentId);
|
||||
newDraft.setAction(mActionType.getMessageActionTypeValue());
|
||||
if(!isTransient) {
|
||||
parentMessage = getMessageDetailsRepository().findMessageById(mParentId);
|
||||
parentMessage = getMessageDetailsRepository().findMessageByIdBlocking(mParentId);
|
||||
} else {
|
||||
parentMessage = getMessageDetailsRepository().findSearchMessageById(mParentId);
|
||||
}
|
||||
|
@ -136,7 +136,7 @@ public class CreateAndPostDraftJob extends ProtonMailBaseJob {
|
|||
String addressId = message.getAddressID();
|
||||
String encryptedMessage = message.getMessageBody();
|
||||
if (!TextUtils.isEmpty(message.getMessageId())) {
|
||||
Message savedMessage = getMessageDetailsRepository().findMessageById(message.getMessageId());
|
||||
Message savedMessage = getMessageDetailsRepository().findMessageByIdBlocking(message.getMessageId());
|
||||
if (savedMessage != null) {
|
||||
encryptedMessage = savedMessage.getMessageBody();
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ public class CreateAndPostDraftJob extends ProtonMailBaseJob {
|
|||
pendingForSending.setMessageId(newId);
|
||||
pendingActionsDatabase.insertPendingForSend(pendingForSending);
|
||||
}
|
||||
Message offlineDraft = getMessageDetailsRepository().findMessageById(oldId);
|
||||
Message offlineDraft = getMessageDetailsRepository().findMessageByIdBlocking(oldId);
|
||||
if (offlineDraft != null) {
|
||||
getMessageDetailsRepository().deleteMessage(offlineDraft);
|
||||
}
|
||||
|
@ -266,7 +266,7 @@ public class CreateAndPostDraftJob extends ProtonMailBaseJob {
|
|||
@Override
|
||||
public void onRun() throws Throwable {
|
||||
PendingActionsDatabase pendingActionsDatabase = PendingActionsDatabaseFactory.Companion.getInstance(getApplicationContext()).getDatabase();
|
||||
Message message = getMessageDetailsRepository().findMessageById(mMessageId);
|
||||
Message message = getMessageDetailsRepository().findMessageByIdBlocking(mMessageId);
|
||||
User user = getUserManager().getUser(mUsername);
|
||||
if (user == null) {
|
||||
pendingActionsDatabase.deletePendingUploadByMessageId(mMessageId, mOldMessageId);
|
||||
|
|
|
@ -47,7 +47,7 @@ public class FetchDraftDetailJob extends ProtonMailBaseJob {
|
|||
|
||||
try {
|
||||
final Message message = getApi().messageDetail(mMessageId).getMessage();
|
||||
Message savedMessage = getMessageDetailsRepository().findMessageById(message.getMessageId());
|
||||
Message savedMessage = getMessageDetailsRepository().findMessageByIdBlocking(message.getMessageId());
|
||||
if (savedMessage != null) {
|
||||
message.setInline(savedMessage.isInline());
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ public class FetchMessageDetailJob extends ProtonMailBaseJob {
|
|||
try {
|
||||
final MessageResponse messageResponse = getApi().messageDetail(mMessageId);
|
||||
final Message message = messageResponse.getMessage();
|
||||
Message savedMessage = getMessageDetailsRepository().findMessageById(message.getMessageId());
|
||||
Message savedMessage = getMessageDetailsRepository().findMessageByIdBlocking(message.getMessageId());
|
||||
final FetchMessageDetailEvent event = new FetchMessageDetailEvent(true, mMessageId);
|
||||
if (savedMessage != null) {
|
||||
message.writeTo(savedMessage);
|
||||
|
|
|
@ -58,7 +58,7 @@ public class MoveToFolderJob extends ProtonMailBaseJob {
|
|||
.getDatabase();
|
||||
int totalUnread = 0;
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if (!TextUtils.isEmpty(mLabelId)) {
|
||||
int location = message.getLocation();
|
||||
|
|
|
@ -58,7 +58,7 @@ public class PostArchiveJob extends ProtonMailCounterJob {
|
|||
.getDatabase();
|
||||
int totalUnread = 0;
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if (markMessageLocally(countersDatabase, message)) {
|
||||
totalUnread++;
|
||||
|
|
|
@ -39,7 +39,7 @@ public class PostDraftJob extends ProtonMailEndlessJob {
|
|||
public void onAdded() {
|
||||
//TODO make a bulk operation
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
message.setLocation(Constants.MessageLocationType.DRAFT.getMessageLocationTypeValue());
|
||||
getMessageDetailsRepository().saveMessageInDB(message);
|
||||
|
|
|
@ -58,7 +58,7 @@ public class PostInboxJob extends ProtonMailCounterJob {
|
|||
|
||||
int totalUnread = 0;
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if (!message.isRead()) {
|
||||
UnreadLocationCounter unreadLocationCounter = countersDatabase.findUnreadLocationById(message.getLocation());
|
||||
|
|
|
@ -49,7 +49,7 @@ public class PostReadJob extends ProtonMailEndlessJob {
|
|||
Constants.MessageLocationType messageLocation = Constants.MessageLocationType.INVALID;
|
||||
boolean starred = false;
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
starred = message.isStarred() != null && message.isStarred();
|
||||
messageLocation = Constants.MessageLocationType.Companion.fromInt(message.getLocation());
|
||||
|
|
|
@ -58,7 +58,7 @@ public class PostSpamJob extends ProtonMailCounterJob {
|
|||
.getDatabase();
|
||||
int totalUnread = 0;
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if (markMessageLocally(countersDatabase,message)) {
|
||||
totalUnread++;
|
||||
|
|
|
@ -53,7 +53,7 @@ public class PostTrashJob extends ProtonMailCounterJob {
|
|||
|
||||
int totalUnread = 0;
|
||||
for (String id : mMessageIds) {
|
||||
Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if (!message.isRead()) {
|
||||
UnreadLocationCounter unreadLocationCounter = countersDatabase.findUnreadLocationById(message.getLocation());
|
||||
|
|
|
@ -62,7 +62,7 @@ public class PostTrashJobV2 extends ProtonMailCounterJob {
|
|||
.getDatabase();
|
||||
int totalUnread = 0;
|
||||
for (String id : mMessageIds) {
|
||||
Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if (!message.isRead()) {
|
||||
UnreadLocationCounter unreadLocationCounter = countersDatabase.findUnreadLocationById(message.getLocation());
|
||||
|
|
|
@ -49,7 +49,7 @@ public class PostUnreadJob extends ProtonMailEndlessJob {
|
|||
Constants.MessageLocationType messageLocation = Constants.MessageLocationType.INVALID;
|
||||
boolean starred = false;
|
||||
for (String id : mMessageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
starred = message.isStarred() !=null && message.isStarred();
|
||||
messageLocation = Constants.MessageLocationType.Companion.fromInt(message.getLocation());
|
||||
|
|
|
@ -50,7 +50,7 @@ public class PostUnstarJob extends ProtonMailEndlessJob {
|
|||
|
||||
Constants.MessageLocationType messageLocation = Constants.MessageLocationType.INVALID;
|
||||
boolean isUnread = false;
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
messageLocation = Constants.MessageLocationType.Companion.fromInt(message.getLocation());
|
||||
isUnread = !message.isRead();
|
||||
|
|
|
@ -53,7 +53,7 @@ public abstract class ProtonMailCounterJob extends ProtonMailEndlessJob {
|
|||
int totalUnread = 0;
|
||||
List<String> messageIds = getMessageIds();
|
||||
for (String id : messageIds) {
|
||||
final Message message = getMessageDetailsRepository().findMessageById(id);
|
||||
final Message message = getMessageDetailsRepository().findMessageByIdBlocking(id);
|
||||
if (message != null) {
|
||||
if ( !message.isRead() ) {
|
||||
UnreadLocationCounter unreadLocationCounter = countersDatabase.findUnreadLocationById(message.getLocation());
|
||||
|
|
|
@ -51,7 +51,7 @@ public class RemoveLabelJob extends ProtonMailBaseJob {
|
|||
.getDatabase();
|
||||
int totalUnread = 0;
|
||||
for (String messageId : messageIds) {
|
||||
Message message = getMessageDetailsRepository().findMessageById(messageId);
|
||||
Message message = getMessageDetailsRepository().findMessageByIdBlocking(messageId);
|
||||
if (message == null) {
|
||||
continue;
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ public class RemoveLabelJob extends ProtonMailBaseJob {
|
|||
|
||||
int totalUnread = 0;
|
||||
for (String messageId : messageIds) {
|
||||
Message message = getMessageDetailsRepository().findMessageById(messageId);
|
||||
Message message = getMessageDetailsRepository().findMessageByIdBlocking(messageId);
|
||||
if (message == null) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ class NotificationReceiver : BroadcastReceiver() {
|
|||
messageId: String
|
||||
) {
|
||||
withContext(Dispatchers.Default) {
|
||||
val message = messageDetailsRepository.findMessageById(messageId)
|
||||
val message = messageDetailsRepository.findMessageByIdBlocking(messageId)
|
||||
if (message != null) {
|
||||
val job: Job = PostTrashJobV2(listOf(message.messageId), null)
|
||||
jobManager.addJobInBackground(job)
|
||||
|
|
|
@ -118,7 +118,7 @@ class SaveDraft @Inject constructor(
|
|||
updatePendingForSendMessage(createdDraftId, localDraftId)
|
||||
deleteOfflineDraft(localDraftId)
|
||||
|
||||
messageDetailsRepository.findMessageById(createdDraftId.orEmpty())?.let {
|
||||
messageDetailsRepository.findMessageByIdBlocking(createdDraftId.orEmpty())?.let {
|
||||
val uploadResult = uploadAttachments(params.newAttachmentIds, it, addressCrypto)
|
||||
if (uploadResult is UploadAttachments.Result.Failure) {
|
||||
return@withContext Result.UploadDraftAttachmentsFailed
|
||||
|
@ -135,7 +135,7 @@ class SaveDraft @Inject constructor(
|
|||
}
|
||||
|
||||
private fun deleteOfflineDraft(localDraftId: String) {
|
||||
val offlineDraft = messageDetailsRepository.findMessageById(localDraftId)
|
||||
val offlineDraft = messageDetailsRepository.findMessageByIdBlocking(localDraftId)
|
||||
offlineDraft?.let {
|
||||
messageDetailsRepository.deleteMessage(offlineDraft)
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ class DeleteMessage @Inject constructor(
|
|||
|
||||
for (id in validMessageIdList) {
|
||||
ensureActive()
|
||||
messageDetailsRepository.findMessageById(id)?.let { message ->
|
||||
messageDetailsRepository.findMessageByIdBlocking(id)?.let { message ->
|
||||
message.deleted = true
|
||||
messagesToSave.add(message)
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ class CreateDraftWorker @WorkerInject constructor(
|
|||
parentId?.let {
|
||||
createDraftRequest.setParentID(parentId)
|
||||
createDraftRequest.action = getInputActionType().messageActionTypeValue
|
||||
val parentMessage = messageDetailsRepository.findMessageById(parentId)
|
||||
val parentMessage = messageDetailsRepository.findMessageByIdBlocking(parentId)
|
||||
val attachments = parentMessage?.attachments(messageDetailsRepository.databaseProvider.provideMessagesDao())
|
||||
|
||||
buildDraftRequestParentAttachments(attachments, senderAddress).forEach {
|
||||
|
|
|
@ -112,11 +112,11 @@ class ComposeMessageViewModelTest : CoroutinesTest {
|
|||
val testObserver = viewModel.savingDraftComplete.testObserver()
|
||||
givenViewModelPropertiesAreInitialised()
|
||||
coEvery { saveDraft(any()) } returns flowOf(SaveDraft.Result.Success(createdDraftId))
|
||||
every { messageDetailsRepository.findMessageById(createdDraftId) } returns createdDraft
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(createdDraftId) } returns createdDraft
|
||||
|
||||
viewModel.saveDraft(message, hasConnectivity = false)
|
||||
|
||||
verify { messageDetailsRepository.findMessageById(createdDraftId) }
|
||||
verify { messageDetailsRepository.findMessageByIdBlocking(createdDraftId) }
|
||||
assertEquals(createdDraft, testObserver.observedValues[0])
|
||||
}
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ class ComposeMessageViewModelTest : CoroutinesTest {
|
|||
val createdDraft = Message(messageId = createdDraftId, localId = localDraftId)
|
||||
givenViewModelPropertiesAreInitialised()
|
||||
coEvery { saveDraft(any()) } returns flowOf(SaveDraft.Result.Success(createdDraftId))
|
||||
every { messageDetailsRepository.findMessageById(createdDraftId) } returns createdDraft
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(createdDraftId) } returns createdDraft
|
||||
|
||||
viewModel.saveDraft(Message(), hasConnectivity = false)
|
||||
|
||||
|
@ -145,7 +145,7 @@ class ComposeMessageViewModelTest : CoroutinesTest {
|
|||
val createdDraft = Message(messageId = createdDraftId, localId = localDraftId)
|
||||
givenViewModelPropertiesAreInitialised()
|
||||
coEvery { saveDraft(any()) } returns flowOf(SaveDraft.Result.Success(createdDraftId))
|
||||
every { messageDetailsRepository.findMessageById(createdDraftId) } returns createdDraft
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(createdDraftId) } returns createdDraft
|
||||
|
||||
viewModel.saveDraft(Message(), hasConnectivity = false)
|
||||
|
||||
|
|
|
@ -301,7 +301,7 @@ class SaveDraftTest : CoroutinesTest {
|
|||
localId = localDraftId
|
||||
}
|
||||
coEvery { messageDetailsRepository.saveMessageLocally(message) } returns 9833L
|
||||
every { messageDetailsRepository.findMessageById("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("45623") } returns message
|
||||
every { pendingActionsDao.findPendingSendByDbId(9833L) } returns null
|
||||
every { pendingActionsDao.findPendingSendByOfflineMessageId(localDraftId) } returns PendingSend()
|
||||
coEvery { uploadAttachments(any(), any(), any()) } returns UploadAttachments.Result.Success
|
||||
|
@ -347,8 +347,8 @@ class SaveDraftTest : CoroutinesTest {
|
|||
val workerStatusFlow = buildCreateDraftWorkerResponse(WorkInfo.State.SUCCEEDED, workOutputData)
|
||||
val newAttachmentIds = listOf("2345", "453")
|
||||
coEvery { messageDetailsRepository.saveMessageLocally(message) } returns 9833L
|
||||
every { messageDetailsRepository.findMessageById("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageById("createdDraftMessageId345") } returns apiDraft
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("createdDraftMessageId345") } returns apiDraft
|
||||
every { pendingActionsDao.findPendingSendByDbId(9833L) } returns null
|
||||
every { pendingActionsDao.findPendingSendByOfflineMessageId(localDraftId) } returns PendingSend()
|
||||
coEvery { uploadAttachments(any(), apiDraft, any()) } returns UploadAttachments.Result.Success
|
||||
|
@ -390,7 +390,7 @@ class SaveDraftTest : CoroutinesTest {
|
|||
)
|
||||
val workerStatusFlow = buildCreateDraftWorkerResponse(WorkInfo.State.FAILED, workOutputData)
|
||||
coEvery { messageDetailsRepository.saveMessageLocally(message) } returns 9833L
|
||||
every { messageDetailsRepository.findMessageById("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("45623") } returns message
|
||||
every { pendingActionsDao.findPendingSendByDbId(9833L) } returns null
|
||||
every {
|
||||
createDraftScheduler.enqueue(
|
||||
|
@ -430,7 +430,7 @@ class SaveDraftTest : CoroutinesTest {
|
|||
)
|
||||
val workerStatusFlow = buildCreateDraftWorkerResponse(WorkInfo.State.SUCCEEDED, workOutputData)
|
||||
coEvery { messageDetailsRepository.saveMessageLocally(message) } returns 9833L
|
||||
every { messageDetailsRepository.findMessageById("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("45623") } returns message
|
||||
every { pendingActionsDao.findPendingSendByDbId(9833L) } returns null
|
||||
coEvery { uploadAttachments(newAttachmentIds, any(), any()) } returns Failure("Can't upload attachments")
|
||||
every {
|
||||
|
@ -471,8 +471,8 @@ class SaveDraftTest : CoroutinesTest {
|
|||
val workerStatusFlow = buildCreateDraftWorkerResponse(WorkInfo.State.SUCCEEDED, workOutputData)
|
||||
val newAttachmentIds = listOf("2345", "453")
|
||||
coEvery { messageDetailsRepository.saveMessageLocally(message) } returns 9833L
|
||||
every { messageDetailsRepository.findMessageById("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageById("createdDraftMessageId345") } returns apiDraft
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("45623") } returns message
|
||||
every { messageDetailsRepository.findMessageByIdBlocking("createdDraftMessageId345") } returns apiDraft
|
||||
every { pendingActionsDao.findPendingSendByDbId(9833L) } returns null
|
||||
every { pendingActionsDao.findPendingSendByOfflineMessageId(localDraftId) } returns PendingSend()
|
||||
coEvery { uploadAttachments(any(), apiDraft, any()) } returns UploadAttachments.Result.Success
|
||||
|
|
|
@ -66,7 +66,7 @@ class DeleteMessageTest {
|
|||
val operation = mockk<Operation>(relaxed = true)
|
||||
every { db.findPendingUploadByMessageId(any()) } returns null
|
||||
every { db.findPendingSendByMessageId(any()) } returns null
|
||||
every { repository.findMessageById(messId) } returns message
|
||||
every { repository.findMessageByIdBlocking(messId) } returns message
|
||||
every { repository.saveMessageInDB(message) } returns 1L
|
||||
every { repository.findSearchMessageById(messId) } returns null
|
||||
every { repository.saveMessagesInOneTransaction(any()) } returns Unit
|
||||
|
@ -93,7 +93,7 @@ class DeleteMessageTest {
|
|||
val searchMessage = mockk<Message>(relaxed = true)
|
||||
every { db.findPendingUploadByMessageId(any()) } returns null
|
||||
every { db.findPendingSendByMessageId(any()) } returns null
|
||||
every { repository.findMessageById(messId) } returns null
|
||||
every { repository.findMessageByIdBlocking(messId) } returns null
|
||||
every { repository.findSearchMessageById(messId) } returns searchMessage
|
||||
every { repository.saveSearchMessageInDB(searchMessage) } returns Unit
|
||||
every { repository.saveMessagesInOneTransaction(any()) } returns Unit
|
||||
|
@ -121,7 +121,7 @@ class DeleteMessageTest {
|
|||
val operation = mockk<Operation>(relaxed = true)
|
||||
every { db.findPendingUploadByMessageId(any()) } returns pendingUpload
|
||||
every { db.findPendingSendByMessageId(any()) } returns null
|
||||
every { repository.findMessageById(messId) } returns message
|
||||
every { repository.findMessageByIdBlocking(messId) } returns message
|
||||
every { repository.saveMessageInDB(message) } returns 1L
|
||||
every { repository.findSearchMessageById(messId) } returns null
|
||||
every { repository.saveMessagesInOneTransaction(any()) } returns Unit
|
||||
|
@ -151,7 +151,7 @@ class DeleteMessageTest {
|
|||
val operation = mockk<Operation>(relaxed = true)
|
||||
every { db.findPendingUploadByMessageId(any()) } returns null
|
||||
every { db.findPendingSendByMessageId(any()) } returns pendingSend
|
||||
every { repository.findMessageById(messId) } returns null
|
||||
every { repository.findMessageByIdBlocking(messId) } returns null
|
||||
every { repository.findSearchMessageById(messId) } returns message
|
||||
every { repository.saveMessageInDB(message) } returns 1L
|
||||
every { repository.saveSearchMessageInDB(message) } returns Unit
|
||||
|
|
|
@ -200,7 +200,7 @@ class CreateDraftWorkerTest : CoroutinesTest {
|
|||
verify { apiDraftMessage.action = 2 }
|
||||
// Always get parent message from messageDetailsDB, never from searchDB
|
||||
// ignoring isTransient property as the values in the two DB appears to be the same
|
||||
verify { messageDetailsRepository.findMessageById(parentId) }
|
||||
verify { messageDetailsRepository.findMessageByIdBlocking(parentId) }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -312,7 +312,7 @@ class CreateDraftWorkerTest : CoroutinesTest {
|
|||
givenPreviousSenderAddress(previousSenderAddressId)
|
||||
every { messageDetailsRepository.findMessageByMessageDbId(messageDbId) } returns message
|
||||
every { messageFactory.createDraftApiRequest(message) } answers { apiDraftMessage }
|
||||
every { messageDetailsRepository.findMessageById(parentId) } returns parentMessage
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(parentId) } returns parentMessage
|
||||
every { userManager.username } returns username
|
||||
every { userManager.getUser(username).loadNew(username) } returns mockk {
|
||||
every { findAddressById(Id("addressId835")) } returns senderAddress
|
||||
|
@ -358,7 +358,7 @@ class CreateDraftWorkerTest : CoroutinesTest {
|
|||
givenPreviousSenderAddress(previousSenderAddressId)
|
||||
every { messageDetailsRepository.findMessageByMessageDbId(messageDbId) } returns message
|
||||
every { messageFactory.createDraftApiRequest(message) } answers { apiDraftMessage }
|
||||
every { messageDetailsRepository.findMessageById(parentId) } returns parentMessage
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(parentId) } returns parentMessage
|
||||
every { userManager.username } returns "username93w"
|
||||
|
||||
// When
|
||||
|
@ -394,7 +394,7 @@ class CreateDraftWorkerTest : CoroutinesTest {
|
|||
givenPreviousSenderAddress("")
|
||||
every { messageDetailsRepository.findMessageByMessageDbId(messageDbId) } returns message
|
||||
every { messageFactory.createDraftApiRequest(message) } answers { apiDraftMessage }
|
||||
every { messageDetailsRepository.findMessageById(parentId) } returns parentMessage
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(parentId) } returns parentMessage
|
||||
|
||||
// When
|
||||
worker.doWork()
|
||||
|
@ -434,7 +434,7 @@ class CreateDraftWorkerTest : CoroutinesTest {
|
|||
givenPreviousSenderAddress("")
|
||||
every { messageDetailsRepository.findMessageByMessageDbId(messageDbId) } returns message
|
||||
every { messageFactory.createDraftApiRequest(message) } answers { apiDraftMessage }
|
||||
every { messageDetailsRepository.findMessageById(parentId) } returns parentMessage
|
||||
every { messageDetailsRepository.findMessageByIdBlocking(parentId) } returns parentMessage
|
||||
|
||||
// When
|
||||
worker.doWork()
|
||||
|
|
Loading…
Reference in New Issue