Help me build an android application.
Receive links from various apps via android intent share sheets Modify shared links according to user-specified preferences
Examples:
- Strip tracking identifiers from shared links (for example strip "?si=$trackingID" from Youtube links)
- Transform Youtube links to invidious links (for example replace youtube.com with yewtu.be but with additional customisable invidious instances to save)
- a x.com (or twitter.com) link can be transformed to nitter.net or other nitter instances
Offer a new share button for the transformed link For a prototype is is sufficient to use yewtu.be/nitter.net links, leaving customization for later
- user shares a link and selects linkshare app as target
- url gets shared to app
- app displays options of transforming link: ie. a youtube link can be stripped of tracking id or transformed into invidious link
- a x.com (or twitter.com) link can be transformed to nitter.net or other nitter instances
- transformed links can be shared via native Android share sheet
additional features: app stores the history of each shared url and transformations app features a settings panel to configure defaults (like nitter and invidious instances) app code should be modular to make it easy to extend with additional functionality app should follow material design 3 guidelines and best practices
- outline the project's scope
- summarize the project's goal
- suggest frameworks best suited for this rather simple helper app
- focus on just Android for now, ignore all other platforms
- for distribution, I will start with apks shared via Github releases so people can use Obtainium to get updates. No need for app stores yet.
- No need for any cloud sync functionality for now, but keep it in mind for future development.
- Regarding privacy: Based on the app's current functionality, it shouldn't need internet access.
- In terms of features and scope: Let's stick with just Youtube and Twitter links for now.
- Keep in mind I am not very experienced with Android development
- suggest how to implement UI and UX elements
- use ~/src/personal/linkshare as the project's root directory for everything that should be written to a file