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
The problem is that HttpUrl.parse parses URLs with trailing whitespace without problems, but during the URL parsing in ClientFactory an exception is thrown in that case.
Other errors when instantiating the API client are now handled as well.
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