TrianguloY / UrlChecker

Android app by TrianguloY: URLCheck
Other
848 stars 51 forks source link

Some apps disappear from the list if their ability to automatically open links is disabled from system settings #332

Open pressRtowin opened 5 months ago

pressRtowin commented 5 months ago

Steps to reproduce

  1. Install an affected app. I only know of these two at the moment, but there are more than likely more cases I haven't noticed or discovered yet.
    • Amazon
    • Zoho Meeting
  2. For Samusng/One UI phones, open Settings --> Apps --> Choose default apps --> Opening links --> and disable the toggle next to "Open supported links"
    • Exact steps to access that setting is different on other Android skins.
  3. I honestly have no clue what needs to happen next. Just wait. Use your phone as usual. Maybe restart it a few times. This might take minutes. This might take days. I've found no repeatable pattern.
  4. Open a link that is typically supported by the affected app in URLCheck. It will be missing from the app dropdown.
  5. Go back to the system settings and enable the disabled option.
  6. Again, this change is not always immediate. Wait around for some amount of time again, and the app eventually reappears in URLCheck.

Expected behavior

All apps that are verified link handlers should always be shown within URLCheck's app list.

Actual behavior

Certain affected apps will randomly disappear after some time passes if their ability to automatically open links is disabled in system settings.

URLCheck version

2.14

Android version

Android 14

Android Custom/Specific ROM or Device

One UI 6.0

Other details

This behavior was originally noticed in LinkSheet, which has since fixed the problem in the commits referenced in this issue: https://github.com/1fexd/LinkSheet/issues/349. Further testing lead me to realize that URLCheck also exhibited the same behavior.

Acknowledgements

pressRtowin commented 3 months ago

Just wanted to add a note that there have been many further updates to LinkSheet since the issue was first "fixed" in the linked bug report. We kept discovering new issues, and this problem turned out to be more of a headache than was originally thought lol. We're still finding weird edge cases from time to time as well. So I'd look at all the changes to that part of the code since then, not just the commits linked to the original bug report.

arquiem commented 3 months ago

Oh, this sounds a lot like the problem I am sttrugling. Commenting here so does not become a duplicate. Worth mentioning this is a follow up from my recent comment made on the play store as beta:

In 2.15 no problem, in 2.16, there's problem. ("Problem with the yt-pipe apps")

Apps missing on 2.16:

  1. NewPipe: https://f-droid.org/packages/org.schabi.newpipe/
  2. PipePipe: https://f-droid.org/packages/InfinityLoop1309.NewPipeEnhanced/

Debug logs:

Intent:

Intent;action=android.intent.action.SEND;type=text/plain;launchFlags=0x13800001;component=com.trianguloy.urlchecker/.dialogs.MainDialog;S.android.intent.extra.SUBJECT=YO%20DA%20YO;S.android.intent.extra.TEXT=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3D7osCU5fk0r8%26si%3DF_jJdkrFIWXWmQj-;end

queryIntentActivities: [ResolveInfo{d717c8e com.google.android.youtube/.UrlActivity m=0x508000}, ResolveInfo{1197caf InfinityLoop1309.NewPipeEnhanced/org.schabi.newpipe.RouterActivity m=0x508000}, ResolveInfo{a3198bc com.msob7y.namida/.NamidaMainActivity m=0x508000}, ResolveInfo{10f8045 org.schabi.newpipe/.RouterActivity m=0x508000}, ResolveInfo{70cd39a org.xbmc.kore/.ShareOpenActivity m=0x308000}, ResolveInfo{c0b34cb org.xbmc.kore/.ShareQueueActivity m=0x308000}, ResolveInfo{add84a8 com.instantbits.cast.webvideo/com.instantbits.cast.BrowserComponent m=0x208000}, ResolveInfo{acdbc1 com.trianguloy.urlchecker/.dialogs.MainDialog m=0x208000}, ResolveInfo{cd48f66 idm.internet.download.manager.plus/acr.browser.lightning.activity.BrowserLauncher m=0x208000}, ResolveInfo{91652a7 org.mozilla.firefox/org.mozilla.fenix.IntentReceiverActivity m=0x208000}]

queryIntentActivityOptions: [IntentApp{ResolveInfo{fda4354 com.google.android.youtube/.UrlActivity m=0x508000}}, IntentApp{ResolveInfo{76a72fd com.msob7y.namida/.NamidaMainActivity m=0x508000}}, IntentApp{ResolveInfo{40a3bf2 org.xbmc.kore/.ShareOpenActivity m=0x308000}}, IntentApp{ResolveInfo{5cb7243 org.xbmc.kore/.ShareQueueActivity m=0x308000}}, IntentApp{ResolveInfo{74240c0 com.instantbits.cast.webvideo/com.instantbits.cast.BrowserComponent m=0x208000}}, IntentApp{ResolveInfo{b7041f9 idm.internet.download.manager.plus/acr.browser.lightning.activity.BrowserLauncher m=0x208000}}, IntentApp{ResolveInfo{27c253e org.mozilla.firefox/org.mozilla.fenix.IntentReceiverActivity m=0x208000}}]

UrlData: UrlData{url='https://youtube.com/watch?v=7osCU5fk0r8&si=F_jJdkrFIWXWmQj-', trigger=null, triggerOwn=true, disableUpdates=false, minorUpdate=false, extraData={}}

GlobalData: {}

Referrer: com.google.android.youtube

That's the log, but the apps listed on screen were:

Namida Kodi Web video caster 1dm+ Firefox

So in summary:

TrianguloY commented 3 months ago

@arquiem thank you for the logs! As I suspected the queryIntentActivityOptions is not showing those apps, even though the documentation said it should...I'll revert that back and that should fix it.

One important question though (which was the reason I changed it). Do you remember if on 2.16 Kodi was shown twice? One as "share open" and another as "share queue" or something like that? But in 2.15 it is only shown once just as "Kodi"?

arquiem commented 3 months ago

Actually yeah, I noticed kodi showed twice in 2.16 as in "play" and "add to queue" where in 2.15 only appeared once and kodi did not appear as kodi but as "kore", touching kore then proceeds to a window asking if play it or send it to queue. I am confirming it now.

Screenshot_20240530-005121_Android System