[ ] going back to portrait from landscape goes back to conversation list (Galaxy Nexus)
[ ] timestamp in messages: if dark background is used text is not visible
[ ] smileys/emoticons support
[ ] ActionBarSherlock: need to use the platform-specific indeterminate progress
[ ] ListView: still issues with fading edge
[ ] paginated message list view (load only as needed)
[ ] tablet: refactor message list view
[ ] handle external storage presence
[ ] still problems with uploads: during a gsm call, upload is somewhat "paused"
    and never resumed, unless message center is restarted, triggering a new upload
[ ] image sending: user can choose to compress/scale down before sending it
[ ] background loading of contact avatars
[ ] custom background: sampleSize hard-coded to 4
    (actually we should save a sample on our own and load it instead)

[x] support for removable phone number prefix
[x] actionbar buttons should be square-shaped
[x] Last seen message is not visible on medium screen (Galaxy Nexus)
[-] something is happening with emoji (crash report by Fabio - hacked firmware?)
[x] validation:
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.provider.Telephony.SMS_RECEIVED (has extras) } in org.kontalk.client.NumberValidator$1@40817d60
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:765)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4389)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: already started
at org.kontalk.client.NumberValidator.start(NumberValidator.java:94)
at org.kontalk.ui.NumberValidation.onValidationCodeReceived(NumberValidation.java:530)
at org.kontalk.client.NumberValidator$1.onReceive(NumberValidator.java:176)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:748)
... 9 more


FUTURE:
[ ] quick voice messages
[ ] check if errors are handled correctly, especially if server behaves bad
[ ] quick reply
[ ] store older messages in external storage / load on demand
[ ] (plural) list -> (singular) list (??)
[ ] use cached last seen/status if network error
[ ] image messages: honor EXIF data (orientation in particular)
[ ] fragment preferences activity
[ ] make IBinder from MessageCenterService a static class
[ ] massive message sending tests and benchmarks (especially memory leaks)
[ ] external storage backup

PLANS:
[ ] porting to XMPP
[ ] HTTP (over SSL) connection support
[ ] separate processes (main/UI, message center, sync adapter)
