There's a bunch of changes, required, to move to the latest SDK:
1. Update AAR's. The matrix-sdk.aar in this commit was built from the
v0.9.14 tag of the matrix-android-sdk git repository. olm-sdk.jar is
pulled from the same place.
2. Updates to the build scripts. matrix-android-sdk added kotlin as a
dependency, moved to okhttp3, added io.realm, and so on.
3. Code modifications to support new SDK itself. The changes, here, are
a grab bag, and you're best off just reading the commit.
Of particular note, here, is that LoginRestClient.loginWithUser takes a
device name *and* a device ID, now (the previous API only took a device
name). As a wicked had, right now, I'm just using the name as the ID,
but I have no doubt that's wrong and this should be cleaned up to
include a randomly generated, persisted device ID, as I believe this is
used by Synapse to track login sessions.
Allow Matrix users to send MMS messages. Not entirely sure how
to do this properly, so in the meantime just link the recipient
to the URL of the file on the Matrix server.
Implemented support for MMS messages, including a variety of formats
of image and video. Works by observing changes to content://mms-sms,
parsing out the new MMS contents, uploading them as assets to
the Matrix server, and posting a new image or video message to the room.