before, messages were only maked as seen after the chat was entered
or after some scrolling takes place.
if a user was inside a chat, reading the last incoming message,
that did not sent out markseen (unless, some scrolling was done,
which, honestly, is often the case)
this commit starts the markseen-bouncer also when the chatlist is reloaded
(true eg. on incoming messages) - but this is not done when the
list is paused (eg. screen is off or some other fragment/dialog above)
this bug was introduced some days ago at adce890bef
by declaring chatId as "int" instead of "long", which is formally correct,
however, int many parts of the code, the chatId is "long" -
as for the set of selected chats:
checking that set for an "int" always returns false ...
i first wanted to change all the sets to use int instead of long,
however, this would require lots of lines to be change -
keeping in mind that this seems to be very sensitive,
and use "long" for the chatId in ConversationListItem.
doing a larger refactoring of Long to Int has the potential to introduce more bugs,
things are not that intuitive in this area -
i would also not have exected that i cannot query a set of longs using an integer,
when using primitives (i know, they are converted implicitly to objects :)
reason is that ppl are pretty annoyed by the
permanant notification, that might have been expected and that would be okay.
but, more worse, for whatever reasons, this drains more battery on some systems
than having just "allow consuming battery" enabled,
maybe some system do not go to doze mode because of the permantent-notification.
anyway, to avoid initial annoyances, we switch back to
- asking the user to "allow consuming battery"
- having a 15 mintues or so polling interval (as on iOS)
but, in contrast to 1.3, we now still have the _option_ to
enable a permantent-notification that user can enabled if everything else
described at https://dontkillmyapp.com does not work.
the "smart" permantent notification from 1.3,
that are only shown under some circumstances, however, are gone.
they are not realiable, eg. we did not use them when "consume battery"
was enabled - which is not sufficient on various "modern" systems.
but the main reason is that _if_ the user enables a permantent notification,
this can also be regarded as a hint that things are up and running.
The problem was that the intent still had the share flag and data.
A draft is now initialized (and stays) so that the user can return to sending later.