The ISystemDataTransferCallback argument can be null, so quietly
handle that case. Also fix bug where we forgot "break" statements
when processing responses.
Finally, always detach transport before closing streams to avoid
misleading warning logs being emitted from system.
Bug: 237030169
Test: manual
Change-Id: Id6d2d93a1c6872152112f877a2b92f4656277803