Archiving messages currently acts like recycle bin in
Simple Gallery, meaning that after 30 days, conversations
will be deleted permanently. Any updates to the conversation
(new messages) removes it from archive.
This closes#177
Application was always picking first participant when tapping on avatars
in conversations. It was also using first participant for MMS notifications.
This stores sender's phone number in the database, so it can be used to look
up correct participant in the list of participants. If matching on number fails,
matching on name is attempted. If both of these fail, it falls back to previous
behavior, which is just picking the first participant.
This may also be connected to #32, but I am not sure, since this should just
be related to behavior when tapping on avatars. Mixing up avatars in the
conversation should be a different issue.
This closes#433, closes#500, closes#384
The previous implementation assumed that each JSON object would have an
"SMS" key and a "MMS" key, and in that order. This caused an exception
when it tried to read the next NAME token because the next token is
actually the closing bracket of the object. This commit fixes this issue
by checking that the next token is actually a NAME. If it is, we consume
the token and handle it according to its value, which may be either
"sms" or "mms". If it's neither of those, we skip it.
Fixes#646
all mms are always loaded, the number of messages only concerns sms, so only reference sms to determine the oldest loaded message
this should load all sms messages when there are mms messages in between
Fixes: #535
- Approximate quality and compress in one go instead of iterating.
- If compressing doesn't help achieve the required file size limit, keep reducing resolution until the file size is smaller than the max limit.
- Convert PNGs to JPEG for lossy compression when max MMS limit is less than 1MB. This helps avoid tiny pixelated PNG images.
- Removed the abstraction (didn't think it was necessary)