Assumptions:
- The device opening/reading/closing operations are omitted from the HAL code, and assumed that the function would be returning an integer on reading.
- Package names in Java/AIDL, were set with respect to locations of file, here the files are placed all in single place.
- For UartPortService, an entry needs to be added in SystemServer.java, which is not added here.