bitfireAT/cert4android

Remove AIDL dependency

Closed this issue · 4 comments

We don't need the AIDL interfaces; they are from times when cert4android had to communicate between multiple processes (because DAVx⁵ was split into multiple processes).

AIDL is disabled by default since AGP 8.0 and I think we should get rid of it.

It should be replaced by appropriate inter-thread communication.

@ArnyminerZ Do you have an idea how we could get rid of it? Which communication between activity and service would you use? Do we even need a service nowadays?

I'll take a look and think about it

Looks like #19 is enough. It's working correctly for me, at least on ICSx5. I've not modified anything substantial, so migration should not be a problem. Simply update the dependency, and it will be working without AIDL.

To test, update the cert4android dependency line on ICSx5 to:

implementation 'com.github.bitfireAT:cert4android:81ec8fc'

Works just like before.

This would of course be a very conservative approach. We are just doing the same as before, but getting rid of AIDL since we are not really communicating between apps. Maybe there's a better way of doing this, by getting rid of the service. But if we want to keep changes small, this should work out.