3 ms·
It's probably a good sign that you had to tell this the Google engineer.
by dna_polymerase 5y ago
It's probably a good sign that you had to tell this the Google engineer.
- jefftk 5y agoI did know you can turn it off. But I want setting a default browser that supports the Custom Tabs protocol (ex: Firefox) to make that browser be used any time an app asks for a custom tab, without any additional steps.
- tadfisher 5y agoThis is currently not possible because the filtering is done by the application calling CCT. The default CCT library implementation explicitly filters on the list of known Chrome app IDs and the app has to explicitly work around this filtering by trying the default browser first before falling back to the default CCT call.
- jefftk 5y agoIt sounds like you're saying that this is currently not possible because it's currently not implemented that way? But of course! I'm saying they should change it so that the application asking for a custom tab can only request "please give me a custom tab".
- tadfisher 5y agoI'm saying it's not possible at the OS level because the filtering is done in application code. CCT is not an OS service, it's a client library and a service IDL. Updating the library to remove the ability to filter by application ID is similarly not possible because binding to specific application IDs is not unique to CCT, it's simply how binding to services works on Android.
- mulletbum 5y agoYou lost me. Are you saying that the people who make Android OS can't reprogram Android OS? That is all this person is saying.
- tadfisher 5y agoThat's not what they're saying. The "chrome custom tabs" feature is a service interface exposed by an application, not the OS. There is no "open a custom tab" feature provided by Android. Therefore applications have to locate an installed browser that is known to support CCT before asking that application to start a Custom Tabs activity. The involvement of the OS in this interaction is to show the calling activity a list of applications that handle the ACTION_VIEW intent for URLs, and to bind the browser's CCT service to the interface for the client. The clients are the one choosing to only interact with Chrome at this point!