Split the dialer and the observer logic for better events handling
As proposed by @bshah, the architecture changes similar to spacebar#2 (closed) and ubports telephony-service+dialer-app approach are needed.
Currently the approver is a daemon, and the dialer app is a client, so not all channels get passed to the client.
The idea is to split the logic into:
-
Observer:
- Keep a record of calls/history
- Enable audio channels when needed
-
Approver:
- Show notification and of-course dispatch channels to the client
-
Dialer:
- Provide general UI
It's mostly code is already there, just needs splitting into 2 binaries: i.e approver is the same and the dialer client code needs splitting in a separate observer.