The setting was saved and read from different preferences. Fixed
by introducing an account settings repo, to have a single place
of accessing those and hide the shared prefs implementation detail.
MAILAND-2843
Instead of fetching verification keys asynchronously and re-launching decryption
after they are ready, we block the decryption until the keys are fetched.
Also fixes the data transfer between the signature verification process and the
UI for the lock icons.
MAILAND-2046
- renames the load function to make the nullable return type more explicit,
- extracts a mapper for the message model,
- adds parameter names to the formatMessageHtmlBody param.
MAILAND-2451
This commit should fix the following issues:
- reply buttons shown before message body is loaded and clicking them
results in a draft with empty body;
- reply buttons are sometimes not shown at all even though the message
body is loaded;
- the action sheet of a message can be summoned in conversation mode
before the message is loaded and we can click the reply buttons from
there which, once again, results in a draft with empty body.
After this commit the behaviour should be such that reply actions and
the button for summoning the in-message action sheet should be
invisible in the cases where the message is not yet loaded and the
message is a draft.
MAILAND-2323
MAILAND-2540
This was done with a "lift and shift" approach, without performing any
manual changes to the logic.
It will get refactored by the subsequent commits.
MAILAND-1891
- Introduce the concept of `SignatureVerification` since based on the
existing verification logic, signature can be both successfully
verified, failed or unknown. This is given by the fact that the
properties of message currently used to infer verification
(`hasValidSignature` / `hasInvalidSignature`) can both be false.
MAILAND-1891
this allows us to get the "padlocks" logic covered with tests
progressively. The final goal is to drop the SenderLockIcon object and
only use GetEncryptedStatus instead.
MAILAND-1891
The improvement relies less on the lenght of the delay, as we introduce a retry
mechanism when wrapping message content height, in case the content has not been loaded
after the initial delay period. Additionally moves some code around and uses better names.
MAILAND-2361
Expands the body of the message before the content is loaded in order to allow snapping of the top of the message
to the top of the screen. The body then collapses with a delay to match the actual message body height.
MAILAND-2361
Adds the expiration view to the collapsed messages, which shows the icon and the
time using the largest available time unit, e.g. 7days 6hours will be shown as 7D.
In addition, updates the mockk to the most recent version.
MAILAND-2236
The problem was that embeddedImageIds in Message is being set when decryption of the message is done. In the scenario where we click on the button in order to load embedded images, the message object that was passed to the startDownloadEmbeddedImagesJob didn't have the embeddedImageIds field set because when decryption was done it was not done on that particular instance of the Message object. The solution is to save the list of embeddedImageIds in the MessageDetailsListItem for each message at the time of loading/decrypting the message, and then use it when the button for loading embedded images is clicked.
MAILAND-2324
This way we avoid race conditions in which the labels are emitted after the
UI is refreshed for the last time, which would lead to no collapsed labels being
shown to the user (since the label emission did trigger the UI update).
MAILAND-2255
Introduces the new components and modifies existing in order to bring the labels to the
collapsed message view. In addition, removes the old attachment icon and replaces it with
the new one, in places where the old one was still being used.
MAILAND-2255
This is a workaround that we agreed on applying for a time tradeoff.
Opening the composer directly with the draft message contained in the
conversation had some technical challenges which are documented in
MAILAND-2248
MAILAND-2224
This reverts commit 88de93ca18.
Commit 88de93 was an attempt to fix MAILAND-1801, but dropping the
"DUMMY_URL_PREFIX" had some unintended side effects.
One is that the `webview.reload` call performed to load a message's
remote content stops working properly, reloading to a blank message
instead of reloading the existing HTML content.
This bad behavior reloading only happens when the history of a
message was being displayed (MAILAND-2220).
That seem to happen because the default url for `loadDataWithBaseURL` is
"about:blank"
MAILAND-2220
both when executed from "more actions" menu and from "bottom bar".
The same applies for reply all and forward actions.
- Conversation Details expands the last message that is not a draft
Moved the responsibility to decide which message is expanded when
the adapter is inited from the `ExpandableRecyclerAdapter` to
`MessageDetailsAdapter`, to allow checking in the message state and
avoid expanding draft messages.
The above, on top of being the desired behavior, was needed to ensure
that when replying to a conversation the body and `decryptedHtml` fields
of the last message that is not a draft had actually been loaded (as
they are needed to pass the "quoted text" over to the composer for
replying / forwarding).
MAILAND-2199