I've had a chance to look into extending forge.request with background file transfer capabilities and could do with some feedback
There are going to be some restrictions:
- No concurrent file transfers. One download or one upload at a time.
Implementation on iOS is relatively straightforward as NSURLSession already supports background transfers.
Android is a bit more complicated as the native DownloadManager class seems to only have native support for background downloads and not uploads (!)
This is going to cause headaches because it puts us in an akward position where either a) have to deal with compatibility headaches from integrating a 3rd party Android library to handle uploads or b) have to implement our own Android background upload & download service which is quite a lot of work.
Using a 3rd-party lib is obviously my preferred solution but I worry about the kind of issues we've seen in the past where the Android built-in HTTP library would fail on some servers because of SSL limitations or other configuration issues. So going 3rd-party is definitely going to place some restrictions on how well we can support the final solution…
I'd love to hear your thoughts and/or questions!