Skip to content

Custom tab handling not taking packages other than Chrome into account #6692

@eschoenawa

Description

@eschoenawa

[READ] Step 1: Are you in the right place?

Issues filed here should be about bugs in the code in this repository.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: Not relevant
  • Firebase Component: App Distribution
  • Component version: 16.0.0-beta14

[REQUIRED] Step 3: Describe the problem

The opening of Custom Tabs for sign-in only supports the Chrome browser. On a device with only Chromium installed, the full browser is opened and not a custom tab, even though Chromium supports Custom Tabs

Steps to reproduce:

Run an app with Firebase distribution on a device that uses Chromium (package org.chromium.chrome.stable) and doesn't have Chrome (com.android.chrome) installed. Make sure the user is not yet signed in, so the signin page is opened when checking for updates. When starting the sign-in browser, instead of using a custom tab that is supported by Chromium, the full browser is opened.

Summarized conditions to reproduce the issue:

  • Chromium (package org.chromium.chrome.stable) is installed and the default browser
  • Chrome (com.android.chrome) not installed
  • User not logged in yet (Login view will be opened instead of checking for updates)

Relevant Code:

FirebaseAppDistribution.getInstance().updateIfNewReleaseAvailable()

Suggested fix

Instead of checking for only the Chrome package like you currently do here, use the recommended way to check for custom tabs, or check for Chromium packages (stable, nightly, etc.) separately.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions