* Added setting to toggle precise date as default display
* Applied spotless
* Improved time format setting with a ListPreference
* Fixed default time format value in list preference
Co-authored-by: Rémi Rigal <remi.rigal@orange.com>
Previously the MessageFacade and MessageStateHolder both had their own
state of the last deleted message, which was redundant. Now only
MessageStateHolder governs the state of a pending deletion and
MessageFacade handles commiting the deletion to the server.
This seems to cause an issue where onSwipe is not being called anymore
afterwards. Steps to reproduce:
1. Delete a message
2. Scroll a little bit down
3. Undo delete
4. Try delete again
-> Swiping works, but callback is not being called.
When swiping away a message it is only removed from the local message
lists and a snackbar appears. When the snackbar is dismissed or the user
deletes another message the delete request is sent to the server. If the
user presses "undo" on the snackbar the message is reinserted into the
local lists at its previous position.
- Add information (link to documentation) when no messages are present
- Add example URL in LoginActivity to indicate the expected format
- Fix capitalization in UI
Images didn't load correctly when the following scenario occurred:
* ApplicationHolder#request
* MessagesActivity.SelectApplicationAndUpdateMessages#execute
* MessagesActivity.SelectApplicationAndUpdateMessages#doInBackground
- method returns List<MessageWithImage>, but images are "null" because
apps aren't loaded yet.
* MessagesActivity#onUpdateApps
- Now apps were loaded and cached.
* MessagesActivity.SelectApplicationAndUpdateMessages#onPostExecute
- receives List<MessageWithImage> from #doInBackgroud with "null" images
-> Messages with "null" images are rendered in the ListView
- Removed comment
- Moved SSLSettings to its own top-level class
- Fixed picasso not setting SSL settings and failing to load images over
self-signed connection
- Moved certificate-related utilities to separate class
- Added settings method to return an entire SSLSettings object; refactored
methods using separate parameters to take single SSLSettings parameter
- Advanced Settings section on login page now hides / shows along with
other buttons to prevent it from showing up in front of the loading
spinner
- Fixed star imports
- Refactored applySslSettings as per code from merge request
- Fixed formatting
- Added fields to login page to a) disable ssl validation or b) select
a custom Certificate Authority certificate to use with the server.
- Changed visibility of widgets on login page from INVISIBLE to GONE so
they don't take up space while hidden (since this was causing weird
spacing issues with the new fields).
- Added state to settings to store ssl validation choice or certificate
data.
- Added fields to various HTTP methods to disable ssl validation or set
valid certificate authority if either setting is enabled.