- With large accounts (such as mine), Conversations starts hitting up against
the default heap limit pretty quickly, at which point it grinds to a halt as
GC pause times increase.
- Furthermore, it's impossible to complete a backup with such an account, since
Conversations will just run out of memory before the backup can complete.
- Enabling the `android:largeHeap` flag asks the OS for a bit more memory, which
hopefully alleviates the problem for larger accounts.
364502d
Fix various memory leaks reported by LeakCanary
Click to expand commit body
- In some places, we weren't nulling out references to destroyed objects. This
fixes that.
- (These were all discovered via LeakCanary instrumentation, and the fixes are
hopefully rather straightforward-looking.)
eta
created
b4805ac
Remove the ListSelectionManager / message body selection (fixes memory leak!)
Click to expand commit body
- When the `viewHolder.messageBody` `TextView` created by a `MessageAdapter` is
set to selectable, it leaks an `android.widget.Editor` (because that editor
registers a view observer that never gets unregistered).
- This memory leak is really quite problematic, as the message adapter is used
a lot!
- Having the text be selectable is useless anyway, though; there isn't any way
to select it (because long pressing just opens the context menu anyway).
- It looks like the ListSelectionManager was meant to track selections across
multiple messages. However, I'm not sure this feature ever gets used.
- Accordingly, this commit removes the entire feature, thus fixing the memory
leak (since no `Editor` objects are ever created).
- It should also reduce memory usage in general, since we aren't attaching an
`Editor` to every single textview we create.
- A `TextView` only allocates an `Editor` if you ask it to do certain things,
like make the text selectable or register custom selection callbacks.
leaving a MUC before joining it was a work around for servers that did not treat a
<x/> join as a full join and didn’t send the full user list if they thought the user was
still in the room.
this happens if Conversations restarts after an inproper disconnect. The MUC will think
the user is still in the room.
however nowadays most modern servers will treat <x/> joins as full joins. on the user hand
leave before join would trigger flood prevention on ejabberds and race the first message
with the actual join (making the message arrive before the user is considered in the room)
we don’t want 'manage accounts' and 'settings' to show up when within a conversation.
we also move out disable notifications and add to favorites into an overflow overflow
to make the menu shorter (after adding 'Search messages' it became very crowded)
Daniel Gultsch
created
73dac68
show notification if message failed to deliver. closes #3540
d158eea
terminate jingle call when regular call starts
Daniel Gultsch
created
91e94db
extend isBusyState to check phone state as well
Daniel Gultsch
created
b38bfa1
Fix: show missed call notification if ringing timeout is reached
Dmitry Markin
created
15b323e
fix crash after session-accept failed and session-accept contained candidates
Click to expand commit body
Conversations would attempt to feed any candidates found in the session-accept into
WebRTC; even if the session wasn’t setup correctly.
this commit processes the candidates only if the session was setup correctly
fixes #3867
Daniel Gultsch
created
f3362eb
add start/install orbot to error notification if applicable. fixes #3846
Daniel Gultsch
created
70c10fd
listen to orbot events instead of using intent result to reconnect account
Daniel Gultsch
created
1958cde
improve logging for app server failures. change wording to include 'push'