carp.core-kotlin
carp.core-kotlin copied to clipboard
Add device registration to `ClientManager`.
Currently, the ClientManager does not support registering devices. This needs to be done directly through the DeploymentService, thereby breaking encapsulation.
This causes an issue in which StudyRuntimeStatus retrieved through getStatus is not aware about remainingDevicesToRegister. For now, the status is only correct after having called tryDeployment.
There was a bug related to this issue which has since been fixed in https://github.com/cph-cachet/carp.core-kotlin/commit/523ecc99eac9ffacd8485740aa0879da7dc2a202:
Furthermore, there is a bug in
StudyRuntimeStatus.getStatus()in which a mutable list is passed (not copied) to an object which should be immutable.