[Autofill - Browser lists] Sort the entries alphabetically (#864)

* AccessibilityHelpers.SupportedBrowsers: sort the entries alphabetically

* AutofillHelpers.TrustedBrowsers: sort the entries alphabetically

* AutofillHelpers.CompatBrowsers: sort the entries alphabetically

* autofillservice.xml: sort the entries alphabetically
This commit is contained in:
Contribucious 2020-04-30 17:32:56 +02:00 committed by GitHub
parent 9d27f111bf
commit 99dceda8ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 135 additions and 127 deletions

View file

@ -23,65 +23,66 @@ namespace Bit.Droid.Accessibility
public static bool IsAutofillTileAdded = false; public static bool IsAutofillTileAdded = false;
public static bool IsAccessibilityBroadcastReady = false; public static bool IsAccessibilityBroadcastReady = false;
// Be sure to keep these entries sorted alphabetically
public static Dictionary<string, Browser> SupportedBrowsers => new List<Browser> public static Dictionary<string, Browser> SupportedBrowsers => new List<Browser>
{ {
new Browser("com.android.chrome", "url_bar"), new Browser("acr.browser.barebones", "search"),
new Browser("com.chrome.beta", "url_bar"), new Browser("acr.browser.lightning", "search"),
new Browser("org.chromium.chrome", "url_bar"), new Browser("com.amazon.cloud9", "url"),
new Browser("com.android.browser", "url"), new Browser("com.android.browser", "url"),
new Browser("com.android.chrome", "url_bar"),
new Browser("com.brave.browser", "url_bar"), new Browser("com.brave.browser", "url_bar"),
new Browser("com.brave.browser_beta", "url_bar"), new Browser("com.brave.browser_beta", "url_bar"),
new Browser("com.chrome.beta", "url_bar"),
new Browser("com.chrome.canary", "url_bar"),
new Browser("com.chrome.dev", "url_bar"),
new Browser("com.duckduckgo.mobile.android", "omnibarTextInput"),
new Browser("com.ecosia.android", "url_bar"),
new Browser("com.feedback.browser.wjbrowser", "addressbar_url"),
new Browser("com.ghostery.android.ghostery", "search_field"),
new Browser("com.google.android.apps.chrome", "url_bar"),
new Browser("com.google.android.apps.chrome_dev", "url_bar"),
new Browser("com.htc.sense.browser", "title"),
new Browser("com.jerky.browser2", "enterUrl"),
new Browser("com.kiwibrowser.browser", "url_bar"),
new Browser("com.ksmobile.cb", "address_bar_edit_text"),
new Browser("com.linkbubble.playstore", "url_text"),
new Browser("com.microsoft.emmx", "url_bar"),
new Browser("com.mx.browser", "address_editor_with_progress"),
new Browser("com.mx.browser.tablet", "address_editor_with_progress"),
new Browser("com.naver.whale", "url_bar"),
new Browser("com.nubelacorp.javelin", "enterUrl"),
new Browser("com.opera.browser", "url_field"), new Browser("com.opera.browser", "url_field"),
new Browser("com.opera.browser.beta", "url_field"), new Browser("com.opera.browser.beta", "url_field"),
new Browser("com.opera.mini.native", "url_field"), new Browser("com.opera.mini.native", "url_field"),
new Browser("com.opera.touch", "addressbarEdit"), new Browser("com.opera.touch", "addressbarEdit"),
new Browser("com.chrome.dev", "url_bar"), new Browser("com.qwant.liberty", "url_bar_title"),
new Browser("com.chrome.canary", "url_bar"),
new Browser("com.google.android.apps.chrome", "url_bar"),
new Browser("com.google.android.apps.chrome_dev", "url_bar"),
new Browser("org.codeaurora.swe.browser", "url_bar"),
new Browser("org.iron.srware", "url_bar"),
new Browser("com.sec.android.app.sbrowser", "location_bar_edit_text"), new Browser("com.sec.android.app.sbrowser", "location_bar_edit_text"),
new Browser("com.sec.android.app.sbrowser.beta", "location_bar_edit_text"), new Browser("com.sec.android.app.sbrowser.beta", "location_bar_edit_text"),
new Browser("com.yandex.browser", "bro_omnibar_address_title_text,bro_omnibox_collapsed_title",
(s) => s.Split(new char[]{' ', ' '}).FirstOrDefault()), // 0 = Regular Space, 1 = No-break space (00A0)
new Browser("org.mozilla.firefox", "url_bar_title"),
new Browser("org.mozilla.firefox_beta", "url_bar_title"),
new Browser("org.mozilla.fennec_aurora", "url_bar_title"),
new Browser("org.mozilla.fennec_fdroid", "url_bar_title"),
new Browser("org.mozilla.focus", "display_url"),
new Browser("org.mozilla.klar", "display_url"),
new Browser("org.mozilla.fenix", "mozac_browser_toolbar_url_view"),
new Browser("org.mozilla.fenix.nightly", "mozac_browser_toolbar_url_view"),
new Browser("org.mozilla.reference.browser", "mozac_browser_toolbar_url_view"),
new Browser("com.ghostery.android.ghostery", "search_field"),
new Browser("org.adblockplus.browser", "url_bar_title"),
new Browser("com.htc.sense.browser", "title"),
new Browser("com.amazon.cloud9", "url"),
new Browser("mobi.mgeek.TunnyBrowser", "title"),
new Browser("com.nubelacorp.javelin", "enterUrl"),
new Browser("com.jerky.browser2", "enterUrl"),
new Browser("com.mx.browser", "address_editor_with_progress"),
new Browser("com.mx.browser.tablet", "address_editor_with_progress"),
new Browser("com.linkbubble.playstore", "url_text"),
new Browser("com.ksmobile.cb", "address_bar_edit_text"),
new Browser("acr.browser.lightning", "search"),
new Browser("acr.browser.barebones", "search"),
new Browser("com.microsoft.emmx", "url_bar"),
new Browser("com.duckduckgo.mobile.android", "omnibarTextInput"),
new Browser("mark.via.gp", "aw"),
new Browser("org.bromite.bromite", "url_bar"),
new Browser("com.kiwibrowser.browser", "url_bar"),
new Browser("com.ecosia.android", "url_bar"),
new Browser("com.qwant.liberty", "url_bar_title"),
new Browser("jp.co.fenrir.android.sleipnir", "url_text"),
new Browser("jp.co.fenrir.android.sleipnir_black", "url_text"),
new Browser("jp.co.fenrir.android.sleipnir_test", "url_text"),
new Browser("com.vivaldi.browser", "url_bar"), new Browser("com.vivaldi.browser", "url_bar"),
new Browser("com.vivaldi.browser.snapshot", "url_bar"), new Browser("com.vivaldi.browser.snapshot", "url_bar"),
new Browser("com.vivaldi.browser.sopranos", "url_bar"), new Browser("com.vivaldi.browser.sopranos", "url_bar"),
new Browser("com.feedback.browser.wjbrowser", "addressbar_url"), new Browser("com.yandex.browser", "bro_omnibar_address_title_text,bro_omnibox_collapsed_title",
new Browser("com.naver.whale", "url_bar"), (s) => s.Split(new char[]{' ', ' '}).FirstOrDefault()), // 0 = Regular Space, 1 = No-break space (00A0)
new Browser("jp.co.fenrir.android.sleipnir", "url_text"),
new Browser("jp.co.fenrir.android.sleipnir_black", "url_text"),
new Browser("jp.co.fenrir.android.sleipnir_test", "url_text"),
new Browser("mark.via.gp", "aw"),
new Browser("mobi.mgeek.TunnyBrowser", "title"),
new Browser("org.adblockplus.browser", "url_bar_title"),
new Browser("org.bromite.bromite", "url_bar"),
new Browser("org.chromium.chrome", "url_bar"),
new Browser("org.codeaurora.swe.browser", "url_bar"),
new Browser("org.iron.srware", "url_bar"),
new Browser("org.mozilla.fenix", "mozac_browser_toolbar_url_view"),
new Browser("org.mozilla.fenix.nightly", "mozac_browser_toolbar_url_view"),
new Browser("org.mozilla.fennec_aurora", "url_bar_title"),
new Browser("org.mozilla.fennec_fdroid", "url_bar_title"),
new Browser("org.mozilla.firefox", "url_bar_title"),
new Browser("org.mozilla.firefox_beta", "url_bar_title"),
new Browser("org.mozilla.focus", "display_url"),
new Browser("org.mozilla.klar", "display_url"),
new Browser("org.mozilla.reference.browser", "mozac_browser_toolbar_url_view"),
}.ToDictionary(n => n.PackageName); }.ToDictionary(n => n.PackageName);
// Known packages to skip // Known packages to skip

View file

@ -17,56 +17,59 @@ namespace Bit.Droid.Autofill
private static int _pendingIntentId = 0; private static int _pendingIntentId = 0;
// These browser work natively with the autofill framework // These browser work natively with the autofill framework
// Be sure to keep these entries sorted alphabetically
public static HashSet<string> TrustedBrowsers = new HashSet<string> public static HashSet<string> TrustedBrowsers = new HashSet<string>
{ {
"com.duckduckgo.mobile.android",
"org.mozilla.focus", "org.mozilla.focus",
"org.mozilla.klar", "org.mozilla.klar",
"com.duckduckgo.mobile.android",
}; };
// These browsers work using the compatibility shim for the autofill framework // These browsers work using the compatibility shim for the autofill framework
// Be sure to keep this in sync with values in Resources/xml/autofillservice.xml // Be sure to:
// - keep these entries sorted alphabetically
// - keep this list in sync with values in Resources/xml/autofillservice.xml
public static HashSet<string> CompatBrowsers = new HashSet<string> public static HashSet<string> CompatBrowsers = new HashSet<string>
{ {
"com.amazon.cloud9",
"com.android.browser", "com.android.browser",
"com.android.chrome", "com.android.chrome",
"com.brave.browser",
"com.brave.browser_beta",
"com.chrome.beta", "com.chrome.beta",
"com.chrome.dev",
"com.chrome.canary", "com.chrome.canary",
"com.chrome.dev",
"com.ecosia.android",
"com.google.android.apps.chrome",
"com.google.android.apps.chrome_dev",
"com.kiwibrowser.browser",
"com.microsoft.emmx", "com.microsoft.emmx",
"com.naver.whale",
"com.opera.browser", "com.opera.browser",
"com.opera.browser.beta", "com.opera.browser.beta",
"com.opera.mini.native", "com.opera.mini.native",
"com.opera.mini.native.beta", "com.opera.mini.native.beta",
"com.opera.touch", "com.opera.touch",
"com.qwant.liberty",
"com.sec.android.app.sbrowser", "com.sec.android.app.sbrowser",
"com.sec.android.app.sbrowser.beta", "com.sec.android.app.sbrowser.beta",
"com.vivaldi.browser",
"com.vivaldi.browser.snapshot",
"com.vivaldi.browser.sopranos",
"com.yandex.browser",
"mark.via.gp",
"org.bromite.bromite",
"org.chromium.chrome",
"org.codeaurora.swe.browser",
"org.mozilla.fenix",
"org.mozilla.fenix.nightly",
"org.mozilla.fennec_aurora", "org.mozilla.fennec_aurora",
"org.mozilla.fennec_fdroid", "org.mozilla.fennec_fdroid",
"org.mozilla.firefox", "org.mozilla.firefox",
"org.mozilla.firefox_beta", "org.mozilla.firefox_beta",
"org.mozilla.fenix",
"org.mozilla.fenix.nightly",
"org.mozilla.reference.browser", "org.mozilla.reference.browser",
"org.mozilla.rocket", "org.mozilla.rocket",
"com.brave.browser",
"com.brave.browser_beta",
"com.google.android.apps.chrome",
"com.google.android.apps.chrome_dev",
"com.yandex.browser",
"org.codeaurora.swe.browser",
"com.amazon.cloud9",
"mark.via.gp",
"org.bromite.bromite",
"org.chromium.chrome",
"com.kiwibrowser.browser",
"com.ecosia.android",
"com.qwant.liberty",
"org.torproject.torbrowser", "org.torproject.torbrowser",
"com.vivaldi.browser",
"com.vivaldi.browser.snapshot",
"com.vivaldi.browser.sopranos",
"com.naver.whale",
}; };
// The URLs are blacklisted from autofilling // The URLs are blacklisted from autofilling

View file

@ -1,6 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<!-- Be sure to keep this in sync with values in AutofillHelpers.CompatBrowsers --> <!--
Be sure to:
- keep these entries sorted alphabetically
- keep this list in sync with values in AutofillHelpers.CompatBrowsers
-->
<autofill-service xmlns:android="http://schemas.android.com/apk/res/android"> <autofill-service xmlns:android="http://schemas.android.com/apk/res/android">
<compatibility-package
android:name="com.amazon.cloud9"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.android.browser" android:name="com.android.browser"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
@ -8,17 +15,38 @@
android:name="com.android.chrome" android:name="com.android.chrome"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.chrome.beta" android:name="com.brave.browser"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.chrome.dev" android:name="com.brave.browser_beta"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.chrome.beta"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.chrome.canary" android:name="com.chrome.canary"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.chrome.dev"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.ecosia.android"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.google.android.apps.chrome"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.google.android.apps.chrome_dev"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.kiwibrowser.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.microsoft.emmx" android:name="com.microsoft.emmx"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.naver.whale"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.opera.browser" android:name="com.opera.browser"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
@ -34,12 +62,45 @@
<compatibility-package <compatibility-package
android:name="com.opera.touch" android:name="com.opera.touch"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.qwant.liberty"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.sec.android.app.sbrowser" android:name="com.sec.android.app.sbrowser"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="com.sec.android.app.sbrowser.beta" android:name="com.sec.android.app.sbrowser.beta"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.vivaldi.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.vivaldi.browser.snapshot"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.vivaldi.browser.sopranos"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.yandex.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="mark.via.gp"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.bromite.bromite"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.chromium.chrome"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.codeaurora.swe.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.mozilla.fenix"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.mozilla.fenix.nightly"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="org.mozilla.fennec_aurora" android:name="org.mozilla.fennec_aurora"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
@ -52,70 +113,13 @@
<compatibility-package <compatibility-package
android:name="org.mozilla.firefox_beta" android:name="org.mozilla.firefox_beta"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.mozilla.fenix"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.mozilla.fenix.nightly"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="org.mozilla.reference.browser" android:name="org.mozilla.reference.browser"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="org.mozilla.rocket" android:name="org.mozilla.rocket"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.brave.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.brave.browser_beta"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.google.android.apps.chrome"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.google.android.apps.chrome_dev"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.yandex.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.codeaurora.swe.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.amazon.cloud9"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="mark.via.gp"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.bromite.bromite"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.chromium.chrome"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.kiwibrowser.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.ecosia.android"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.qwant.liberty"
android:maxLongVersionCode="10000000000"/>
<compatibility-package <compatibility-package
android:name="org.torproject.torbrowser" android:name="org.torproject.torbrowser"
android:maxLongVersionCode="10000000000"/> android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.vivaldi.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.vivaldi.browser.snapshot"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.vivaldi.browser.sopranos"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.naver.whale"
android:maxLongVersionCode="10000000000"/>
</autofill-service> </autofill-service>