revanced-manager icon indicating copy to clipboard operation
revanced-manager copied to clipboard

feat: downloader plugin system

Open Axelen123 opened this issue 2 years ago • 2 comments

Feature description

A plugin system for downloaders should be implemented.

Motivation

Maintaining plugins for many different APK providers is a burden that would be better dealt with by the community.

Implementation details

(The arrow labeled null is pointing to "Select downloader") image

Plugins are jar files that can be loaded by DexClassLoader. They can be imported from local storage or downloaded from a remote source just like patch bundles. Plugins will have a manifest.json file which contains information about the plugin such as the name and which class to load. The specified class will implement the AppDownloader interface. A repository class will manage all plugins. Plugin information can be stored using room database if needed.

Acknowledgements

  • [X] This request is not a duplicate of an existing issue.
  • [X] I have chosen an appropriate title.
  • [X] All requested information has been provided properly.
  • [X] The issue is solely related to the ReVanced Manager

Axelen123 avatar Nov 08 '23 16:11 Axelen123

Please add implementation details to the issue.

oSumAtrIX avatar Nov 08 '23 16:11 oSumAtrIX

Done

Axelen123 avatar Nov 12 '23 14:11 Axelen123