Commit Graph

30 Commits

Author SHA1 Message Date
Davide Farella 659d8dd97e Update Copyright for all files in the project
MAILAND-2887
2022-05-23 21:01:57 +00:00
Zorica Stojchevska 30e5087084 Update copyright
MAILAND-2696
2022-05-23 21:01:57 +00:00
Davide Farella bc749c0f2f Bump MessageDatabase.kt [15] -> [16]
Bump Room [2.3.0] -> [2.4.2]

MAILAND-2380
2022-04-07 16:25:58 +02:00
Davide Farella 205aa715ce Add Message.flags
MAILAND-2830
2022-04-07 16:25:58 +02:00
stefanija 7ca702eb51 Add a new table for saving viewing preferences for each message
MAILAND-2604
2022-02-14 13:02:30 +01:00
stefanija 1a1c466afe Remove isDeleted attribute from Message class
This attribute is not necessary and in this commit it is removed. When
performing a delete action the message is now deleted from the DB
instead of being marked as deleted.

MAILAND-2610
2021-12-01 19:19:35 +01:00
Tomasz Giszczak b00ef41ce8 Resolved problems in MessageDetailsViewModelTest due to rebase and updated MessageDatabase version again.
MAILAND-1525
2021-10-20 14:24:04 +02:00
Tomasz Giszczak 1076f99f4b Bumped message db version to fix the upgrade problem.
MAILAND-1525
2021-10-20 14:24:03 +02:00
Tomasz Giszczak 60f6c52f67 Moved labels repository and ids to an appropriate package.
MAILAND-1525
2021-10-20 14:24:02 +02:00
Tomasz Giszczak 5ea418f65c Removed labels table from messages DB.
MAILAND-1525
2021-10-20 14:21:45 +02:00
Tomasz Giszczak 74d50d1cdb Moved labels related stuff to the new package.
MAILAND-1525
2021-10-20 14:20:02 +02:00
Tomasz Giszczak 26fad81199 Resolved LabelId type converter problems, temporary disabled foreign key in LabelEntity util contacts and the rests are converted.
MAILAND-1525
2021-10-20 14:20:02 +02:00
Tomasz Giszczak 05edc1955b Moved Labels entity to new single db. Updated exclusive field.
MAILAND-1525
2021-10-20 14:20:02 +02:00
Tomasz Giszczak f76f8b0aff Renamed Labels objest and updated unit tests.
MAILAND-1525
2021-10-20 14:20:01 +02:00
Marino Meneghel 3de6686c55 Make messageEncryption field not optional
Since optionality was just used as initial value for this field and all
the logic always assumed the value was there (through force unwrapping
it) we changed it to non-optional to remove the overhead of optional
handling. The initial value is "UNKNOWN".

- Increase MessageDatabase version to 12

MAILAND-1891
2021-09-21 10:13:47 +00:00
stefanija ea962766ce Increase the version of the Message Database because UnreadCounterDatabaseModel was changed to UnreadCounterEntity and was causing a crash 2021-09-13 10:44:50 +02:00
Davide Farella fc6dac9031 Remove CommonTypeConverters.kt in favour of CommonConverters from Core
MAILAND-2250
2021-09-09 15:30:59 +02:00
Davide Farella 12e976db64 Rename UnreadCounterDatabaseModel.kt to UnreadCounterEntity.kt
As agreed with the team, in order to be compliant to Core standards

MAILAND-2250
2021-09-09 10:56:08 +02:00
Davide Farella 8c61febcf3 Create UnreadCounterDao.kt
Created Dao with UnreadCounterDatabaseModel.kt for persist Unread Counters for Conversations

MAILAND-2250
2021-09-09 10:56:07 +02:00
Marino Meneghel 7250417889 Convert Message.ParsedHeaders model to a kotlin data class
This change was triggered from an investigation that looked into why a
conversation was automatically updated when opened.

The caused turned out to be a failure in the equality check performed by
`distinctUntilChanged` check in DetailVM (conversationUiModel flow).
This failure was caused by the ParsedHeaders equality failing since not
implemented in the existing java class (checking instance).

- MessagesTypesConverter uses kotlin serialization to serialise ParsedHeaders
- Move test checking parsed headers serialization to a unit test
  (instead of android test)
- Delete uneeded ParsedHeadersMatcher
- Bump MessageDB version to 10

MAILAND-2291
2021-09-08 12:04:13 +02:00
Marino Meneghel 0078229871 Remove "isTransient" flag from everywhere
Such flag was used to differentiate between messages that were coming
from "Search" (being the transient ones) and those that weren't.

This conditional being performed in many places was adding a lot of
noise and not really bringing any value, as the same behaviour can be
achieved by not storing messages from search in the first place.
2021-05-17 18:41:05 +02:00
Davide Farella f614a4cca2 Enable injection of MessageDatabase.Factory
MAILAND-1502
2021-05-13 14:36:54 +00:00
Marino Meneghel 6801038776 Revert Message DB version to 9
The update to 10 is uneccessary and was done by mistake, as this DB's
version was bumped to 9 just few commits before this (it was 8 in the
previous release)

MAILAND-1766
2021-05-10 13:38:10 +00:00
Marino Meneghel 69b29a1267 Downgrade room library to stable version and remove AutoMigration
We want to avoid using alpha software when not strictly needed.

Increase MessagesDatabase version

Fix a compilation error (likely leftover from rebasing), remove some
unused vars and add @FlowPreview annotation to ConversationsRepository

- Room alpha and automigration were causing the following crash
```
  Caused by: java.lang.IllegalStateException: Migration didn't properly
  handle:
  conversations(ch.protonmail.android.mailbox.data.local.model.ConversationDatabaseModel).
```
for which android studio pointed to [this JVM bug](https://bugs.openjdk.java.net/browse/JDK-8007720)

MAILAND-1442
2021-05-10 13:38:10 +00:00
Zorica Stojchevska 19a8b34c39 Introduce ConversationID into the Message Table
- Handled migration of the DB by using newest version of Room
- Made ConversationID a foreign key

MAILAND-1766
2021-05-10 13:38:10 +00:00
Zorica Stojchevska 6f74d50120 Renamed ConversationEntity to fit our agreed naming practices
and moved public constants to the companion object of respective classes
2021-05-10 13:38:10 +00:00
Zorica Stojchevska d3004c26b8 Introduced sender and recipient list to the conversation data, and mapped them to the domain Corespondent model 2021-05-10 13:38:10 +00:00
Zorica Stojchevska fa8c072ec8 Create conversation table and data model
MAILAND-1647
2021-05-10 13:38:10 +00:00
Davide Farella fccb4fdfd6 Clean up and fixes after migration to user id
MAILAND-1189

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/messageDetails/repository/MessageDetailsRepository.kt
#	app/src/main/java/ch/protonmail/android/contacts/list/ContactsListFragment.kt
#	app/src/main/java/ch/protonmail/android/contacts/list/viewModel/ContactsListViewModel.kt
#	app/src/main/java/ch/protonmail/android/data/local/PendingActionDatabase.kt
#	app/src/main/java/ch/protonmail/android/fcm/PMRegistrationWorker.kt
#	app/src/main/java/ch/protonmail/android/usecase/compose/SaveDraft.kt
#	app/src/main/java/ch/protonmail/android/worker/drafts/CreateDraftWorker.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/services/PostMessageServiceFactory.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
#	app/src/main/java/ch/protonmail/android/usecase/compose/SaveDraft.kt
2021-03-18 10:47:12 +01:00
Davide Farella c99cbe0dbb Refactor MessageDatabase.kt to use User Id
MAILAND-1186

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/AddAttachmentsActivity.java
#	app/src/main/java/ch/protonmail/android/activities/SearchActivity.java
#	app/src/main/java/ch/protonmail/android/api/models/messages/receive/MessageSenderFactory.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Attachment.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/jobs/CreateAndPostDraftJob.java
#	app/src/main/java/ch/protonmail/android/jobs/UpdateAndPostDraftJob.java
#	app/src/main/java/ch/protonmail/android/worker/DeleteAttachmentWorker.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/services/MessagesService.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageViewModel.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/utils/resources/StringResourceResolver.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/segments/event/EventHandler.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/test/java/ch/protonmail/android/usecase/delete/DeleteLabelTest.kt

# Conflicts:
#	app/src/androidTest/java/ch/protonmail/android/api/models/room/messages/MessageDaoTest.kt
#	app/src/main/java/ch/protonmail/android/api/models/messages/receive/ServerAttachment.kt
#	app/src/main/java/ch/protonmail/android/api/models/room/messages/LocalAttachment.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/main/java/ch/protonmail/android/data/local/MessageDao.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Attachment.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/AttachmentHeaders.java
#	app/src/main/java/ch/protonmail/android/data/local/model/AttachmentMetadata.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/AttachmentTypesConverter.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/AddAttachmentsActivity.java
#	app/src/main/java/ch/protonmail/android/data/local/MessageDao.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/core/ProtonMailApplication.java
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
2021-03-18 10:44:46 +01:00