bitfireAT/icsx5

Possibly broken intent filters

Closed this issue · 2 comments

Intent filters seem to be broken. Verify and repair.

  • *.ics URLs (when opening in Browser)
  • webcal:// URLs
  • file:// URLs (when opening local ics files)
  • *.ics URLs (when opening in Browser)
    I don't think it's possible. Android explicitly blocks non-verified domains from opening on third-party apps.
  • webcal:// URLs
    Works perfectly, both webcal:// and webcals://
  • **file:// URLs
    Not working, places the url in the text field, instead of loading the file.
  • Launching ICS files
    Launches on Google Calendar instead of ICSx5

Well, the file:// extension has been deprecated since Nougat (reference), though I think we should keep it.

content:// works fine, both when launching from a file explorer, and when picking the file from inside the app.

We won't be able to use http:// or https:// since it's required to have a verified domain for the app, and doesn't allow wildcards. This is because they are restricted schemes, however, webcal:// and webcals:// both work just fine, at least from adb.

Since patterns are quite broken in Android, this doesn't work for long URLs (longer than 4 sub-directories), which is what we have defined in the manifest. We may add more, though it's quite a stupid syntax, since for example:

https://gist.githubusercontent.com/DeMarko/6142417/raw/1cd301a5917141524b712f92c2e955e86a1add19/sample.ics

Doesn't even work, and it's not such a long URL.

Shorter ones such as:

https://cdn.arnyminerz.com/sample.ics

work perfectly.