Use Conversations simple API for fetching conversations.
This replaces the multiple queries (fetching all threads, then fetching a message from each thread) with one query that fetches conversations.
There is some code duplication that doesn't seem ideal, but things were worse when I tried to add conditionals into the existing methods, so I went with this approach.
I've tested this on my MOTO G6 and the conversation list load feels faster, but it would be good to know how it behaves on other devices.