..., Connection, OutputStream, Database, ConnectionCountAdapter, IdGenerator, and ForegroundServiceConfig. You can use okhttp as your connection component. If you don't want to use any database on FileDownloader(the database on FileDownloader is used for persistent tasks' breakpoint info) just use NoDatabaseImpl.java. You can validate it by just creating your own DownloadMgrInitialParams.InitCustomMaker and putting customized components to it, and "init" the FileDownloader with it.