TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
30.9k stars 3.01k forks source link

Support Intent interception for all links #7456

Open goyalyashpal opened 2 years ago

goyalyashpal commented 2 years ago

Checklist

What feature do you want?

Why do you want this feature?

Think of it like "dynamic intents" where the supported intents can be updated dynamically by the app. but this is not supported in android (and shouldnt be either imo).

Additional Context:

triallax commented 2 years ago

Surely there will be some people who will have privacy concerns with an app having access to every single link they open, even if it's NewPipe.

Also, even if people have NewPipe installed, that does not mean they want e.g. YouTube links to open in NewPipe.

Do you have any solutions to the above problems?

goyalyashpal commented 2 years ago

yeah, glad u asked it. i had smth in mind, but couldnt figure out with which context to say it.

So, with optional service, i meant that

  1. this will be additional service to the intents parsed in current manner.
  2. and there'd be a toggle in newpipe to disable that, saying smth like Enable Newpipe link service with some description.
  3. so, users will have option to disable this additional service for once and for all

for the fine tuning control per link, i thought that

  1. there can be option: support all links, or support links in list only.
  2. the list can be proper syntax bounded list (maybe text editable?: πŸ€”).
  3. See the Peertube instances list for some starting inspiration.
goyalyashpal commented 2 years ago

the action flow will be smth like following:

  1. user clicks some link to a media service
  2. they see the android's open with popup
  3. if they want to try opening this media link with newpipe, THEN ONLY they will choose this service (say "newpipe browser")
  4. that link will be compared,
  5. if it matches with the list, then will be opened with newpipe
  6. else will be redirected back to android sys

so, for addressing privacy concerns, there are several steps....

  1. this service can be disabled (as i said in prev comment)
  2. this is not at all intended to be default browser (a warning may be shown in this regard somehow) so,
  3. ..... so, this will read link ONLY when user EXPLICITLY chooses newpipe_browser service (step 3 above)

for addressing per service link choice, step 3, and step 5 above, or previous comment

goyalyashpal commented 2 years ago

i got a bit verbose, sorry for that. but succinting things take a huuuuuuge chunk of mental efforts (and time) for me. and often leads me to procrastinate. so, couldnt do it atm πŸ˜…. i thought it'd be better to not put it on hold in effort to chase perfection.

goyalyashpal commented 2 years ago
  • otherwise pass it back to android system

guess what, newpipe ( 0.21.13 ) already has such a screen. tried clicking this link (from telegram):