1) Have UploadManager sit inside UploadService (up...
# android-architecture
u
1) Have UploadManager sit inside UploadService (upload service has reference to the uploadmanager), comunicate with uploadManager via intent, actions (proxied ACTION_UPLOAD to uploadManager.upload()) 2) Have UploadManager be static singleton, control it directly via method calls, and to guarantee not being killed just sideffect foreground service? i.e. uploadManager.uploadStateObservable.subscribe { if Started then context.startForegroundService() else context.stopForegroundService}. Where this service has nothing in it besides setForeground call as to signal to the OS, but otherwise nothing.