Trying to build/install this application in a new installation of Android Studio yielded:
> Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: Error loading build artifacts from:<snip>\sms-matrix\app\build\outputs\apk\debug\output-metadata.json
This updates the versions of applications central to building the Android project to make it compatible. This does not (intentionally, at least) have any functional impact on the application at all.
I opted not to jump to Gradle 7.0 as it has just recently been released and increasing 1 major version is change enough for one PR.
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.