I think in order to resume a download both the server that the resource is being fetched from and the client need to support this.
They would have to agree on the progress made and resume the download from the location in the byte stream that the client has reached. This might be achievable in HTTP using something like the partial requests using range headers like accept-range https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
Essentially, I think that the ability for your download manager client to be able to change network and resume from that point would depend on the end resource being requested as the server that is providing it would need to be able to do that. If that server is only capable of sending the total bytes from start to end then that is the best your client can hope for.