But basic internet permission is given to all apps without asking.
But it really shouldn't be! And GrapheneOS, at least, always asks the user when installing apps that want network permission. If the user doesn't plan on using any network-based features of the app, they can simply decline.
This application will allow you to run Linux on Android, by using
https://f-droid.org/packages/com.termux and PRoot technology, you can even run SSH and Xfce4 Desktop
Environment!!!
Since your app is open source, I think it would make great sense to either submit it to the F-Droid repo, create your own repo that people can add to their F-Droid client, or host the project in one of the places that are already supported as a source in the Obtainium app.
Isn't that what pizzerias and such often do, though, to get more customers in throughout the day? Where I live, a pizza for lunch is often like 20-40% cheaper than a pizza for dinner, and I think that's actually alright.
Have a look at LibreELEC "just enough OS for Kodi" for the Pi - at least if you plan on using it primarily for running Kodi as a "casting receiver". (LibreELEC even supports Docker containers as Kodi add-ons too, if you need the Pi to run more than just Kodi.)
Kodi will natively play some types of links shared to it through the "Kore" remote app's "Play on Kodi" in the share menu.
Even more types of links are supported with the right add-ons such as YouTube links through Invidious add-on (or YouTube add-on with your own token), local broadcasters' VoD content, some paid streaming services and many more but it's a bit hit and miss...
With DLNA enabled in Kodi, many more types of stream URLs can be extracted from websites and sent to Kodi with apps like "Web Video Caster". I think this one has the option of routing the stream through the phone (which is only necessary for some types of streams).
Depending on your media consumption habits and requirements, it might not be the perfect solution, but possibly prettttty good one for a Raspberry Pi.
If the ticket/pass/document is delivered in Apple's .pkpass format instead of PDF, PassAndroid supports that, while supporting PDF too. While QR, PDF417 and AZTEC barcodes are supported, it seems that your suggestion supports many more than this.
Interestingly, at least where I live, in my experience, the more expensive ISPs, TSPs etc. have worse, almost evil, customer service than the smaller, cheaper providers. Maybe the smaller providers can't afford the most evil money-saving customer service systems, and that's what makes them better?!
But it really shouldn't be! And GrapheneOS, at least, always asks the user when installing apps that want network permission. If the user doesn't plan on using any network-based features of the app, they can simply decline.