cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dpolivy <...@git.apache.org>
Subject [GitHub] cordova-plugin-inappbrowser pull request: [CB-10795] Exclude curre...
Date Wed, 09 Mar 2016 17:20:20 GMT
GitHub user dpolivy opened a pull request:

    https://github.com/apache/cordova-plugin-inappbrowser/pull/154

    [CB-10795] Exclude current app from external intent list

    On Android, if the app defines an intent-filter for a given URL, and
    then tries to use inappbrowser to launch that URL via the _system
    target, the default handler for that intent is the app itself.
    
    That behavior can lead to circular loops, and ultimately is not what the
    developer wants -- the link should be launched in a browser.
    
    Because there is no easy way to find the "default" system browser on a
    device, this solution will do two things:
    1) Check if the app is one of the targets for this intent
    2) If so, create a custom chooser with all other targets, excluding the
    current app.
    
    If the app is not a target, then the current (existing) behavior is
    preserved.
    
    The only real "downside" to this approach is that a default handler can no longer be set
for these URLs within the app, and a chooser will be shown each time the user taps a link
that opens in a new browser.
    
    Fixes https://issues.apache.org/jira/browse/CB-10795

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dpolivy/cordova-plugin-inappbrowser CB10795

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-plugin-inappbrowser/pull/154.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #154
    
----
commit 00df83cbe4166c575173b1a4df3430ab41fa57c5
Author: Dan Polivy <dan@cellartracker.com>
Date:   2016-03-09T17:19:11Z

    [CB-10795] Exclude current app from external intent list
    
    On Android, if the app defines an intent-filter for a given URL, and
    then tries to use inappbrowser to launch that URL via the _system
    target, the default handler for that intent is the app itself.
    
    That behavior can lead to circular loops, and ultimately is not what the
    developer wants -- the link should be launched in a browser.
    
    Because there is no easy way to find the "default" system browser on a
    device, this solution will do two things:
    1) Check if the app is one of the targets for this intent
    2) If so, create a custom chooser with all other targets, excluding the
    current app.
    
    If the app is not a target, then the current (existing) behavior is
    preserved.
    
    Fixes https://issues.apache.org/jira/browse/CB-10795

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


Mime
View raw message