Only refresh the command recycler if we need to

Otherwise every UI refresh of any kind causes text boxes to lose focus.
Affiliation and role and hats as tags

Do not show "none" affiliation since it doesn't really mean much and is
the default, same for "participant".  Show "visitor" role as "muted".

Hats are coloured by the URI not their name.
index must be <= size
createOpenDocumentTreeIntent added in 29
If timer is already cancelled, then we don't need to schedule
Make sure to broadcast nick on nick change

Some servers ignore extra payloads on the change presence itself, so once that's
done then send the extra payloads in a new presence.
There is apparently a limit to the number of phone account on some OS

Which was causing a crash here.
Better label for last activity preference
Allow bigger avatar only for animated
Fix crash ("   ".split("\\s+") is empty array)
Make sure above users always see the domain the recognize even in a blank app
Stretch avatar if needed
Allow publishing an animated avatar

This requires not compressing it or cropping it unless we want to do *a lot*
more code, so file must be under 100k or we freeze it and no promises what your
non-square avatars will look like generally.
Use ImageDecoder for avatars
No more BitmapCache

All drawables forever
Move whole avatar stack from Bitmap to Drawable