## Summary
Clean up a bunch of lint errors in SMSHelper.java. Some of these are null issues which in theory might prevent a crash.
## Test Plan
No functional changes are expected. Fetching SMS still works for me.
## Summary
Spawning new threads in Java is costly. This MR aims to use a common thread pool instead.
I've replaced all cases where a new thread is started just to perform a task in the background. This does not include cases where a reference to the newly created thread is kept as a part of application logic – this is probably a problem in itself, but it exceeds the scope of this quick optimization. ;)
There was a couple of cases where a new thread was spawned just to sleep for a while an then change the state on a View on the main thread. I've replaced those with posting those deferred tasks to the View's message queue.
## Test Plan
Everything should work the same as it has before, just a bit faster and easier on the memory.
Colors don't work in some cards, menus and the hamburger menu
## Summary
I'm trying to make KDEConnect pull colours from the Material 3.0
wallpaper in Android 12. I've managed to do this to an extent by editing
the xml files in res/values*. There are, however, certain UI elements
that do not respond to the changes I've made, with no obvious files
where their colours may be changed.
## Screenshots
### The devices screen looks great (Except "KDE Connect Devices" in the
App bar isn't themed.)

### The hamburger menu has a white color in light mode. Don't know where
this is set and how to change it

### Three dot menu has a white colour

### Add new devices looks good too

### Not the popup menus though

### Cards in the About section are still white

### Dark mode works fine

### But again, some UI elements like the hamburger menu aren't themed.

I'll keep trying to figure out how to make these elements to their
proper colours, but I've done a lot of searching through the source and
couldn't figure out how. I'm absolutely new to Android development. Help
please.
## Test Plan
For the changes made thus far, none are needed.
## Summary
Since !158, fetching messages has been painfully slow. This is because, instead of making one cursor (database) call, we needed to make two per conversation.
Unless someone finds a conversations URI which works on Samsung devices and reliably returns data, there isn't much we can do about that. What we can do, is return each conversation more quickly to get the UI populated and to prevent blocking the main thread forever.
This attempts to return conversations ordered by most-recent first. If the conversations URI returns junk for the thread date, it will return in an undefined order.
## Test Plan
#itworksforme