Compare commits
	
		
			1 Commits
		
	
	
		
			2449--igno
			...
			2466--redu
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					dfd101da77 | 
@@ -71,12 +71,6 @@ namespace Kp2aAutofillParserTest
 | 
				
			|||||||
            var resourceName = "Kp2aAutofillParserTest.com-expressvpn-vpn-android13.json";
 | 
					            var resourceName = "Kp2aAutofillParserTest.com-expressvpn-vpn-android13.json";
 | 
				
			||||||
            RunTestFromAutofillInput(resourceName, "com.expressvpn.vpn", null);
 | 
					            RunTestFromAutofillInput(resourceName, "com.expressvpn.vpn", null);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        [Fact]
 | 
					 | 
				
			||||||
        public void TestIgnoresAndroidSettings()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            var resourceName = "Kp2aAutofillParserTest.android14-settings.json";
 | 
					 | 
				
			||||||
            RunTestFromAutofillInput(resourceName, "com.android.settings", null);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void RunTestFromAutofillInput(string resourceName, string expectedPackageName = null, string expectedWebDomain = null)
 | 
					        private void RunTestFromAutofillInput(string resourceName, string expectedPackageName = null, string expectedWebDomain = null)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,6 @@
 | 
				
			|||||||
  </PropertyGroup>
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <None Remove="android14-settings.json" />
 | 
					 | 
				
			||||||
    <None Remove="chrome-android10-amazon-it.json" />
 | 
					    <None Remove="chrome-android10-amazon-it.json" />
 | 
				
			||||||
    <None Remove="com-expressvpn-vpn-android13.json" />
 | 
					    <None Remove="com-expressvpn-vpn-android13.json" />
 | 
				
			||||||
    <None Remove="com-ifs-banking-fiid3364-android13.json" />
 | 
					    <None Remove="com-ifs-banking-fiid3364-android13.json" />
 | 
				
			||||||
@@ -55,9 +54,6 @@
 | 
				
			|||||||
    <EmbeddedResource Include="com-servicenet-mobile-no-focus.json">
 | 
					    <EmbeddedResource Include="com-servicenet-mobile-no-focus.json">
 | 
				
			||||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
					      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
				
			||||||
    </EmbeddedResource>
 | 
					    </EmbeddedResource>
 | 
				
			||||||
    <EmbeddedResource Include="android14-settings.json">
 | 
					 | 
				
			||||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
					 | 
				
			||||||
    </EmbeddedResource>
 | 
					 | 
				
			||||||
    <EmbeddedResource Include="imdb.json">
 | 
					    <EmbeddedResource Include="imdb.json">
 | 
				
			||||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
					      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
				
			||||||
    </EmbeddedResource>
 | 
					    </EmbeddedResource>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,99 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "InputFields": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": null,
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.FrameLayout",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "content_parent",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.LinearLayout",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "content_frame",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.FrameLayout",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "main_content",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.FrameLayout",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "password_entry",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.EditText",
 | 
					 | 
				
			||||||
      "AutofillHints": [
 | 
					 | 
				
			||||||
        "passwordAuto"
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "IsFocused": true,
 | 
					 | 
				
			||||||
      "InputType": 18,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null,
 | 
					 | 
				
			||||||
      "ExpectedAssignedHints": [ "password" ]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "checkbox",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.CheckBox",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "button_bar",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.RelativeLayout",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "switch_bar",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.widget.LinearLayout",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "IdEntry": "action_bar",
 | 
					 | 
				
			||||||
      "Hint": null,
 | 
					 | 
				
			||||||
      "ClassName": "android.view.ViewGroup",
 | 
					 | 
				
			||||||
      "AutofillHints": null,
 | 
					 | 
				
			||||||
      "IsFocused": false,
 | 
					 | 
				
			||||||
      "InputType": 0,
 | 
					 | 
				
			||||||
      "HtmlInfoTag": null,
 | 
					 | 
				
			||||||
      "HtmlInfoTypeAttribute": null
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "PackageId": "com.android.settings",
 | 
					 | 
				
			||||||
  "WebDomain": null
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -40,26 +40,6 @@ namespace keepass2android.services.AutofillBase
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public abstract class AutofillServiceBase: AutofillService
 | 
					    public abstract class AutofillServiceBase: AutofillService
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private HashSet<string> _internal_blacklistedUris = null;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public HashSet<string> BlacklistedUris
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            get
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (_internal_blacklistedUris == null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    _internal_blacklistedUris = new HashSet<string>()
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        KeePass.AndroidAppScheme + "android",
 | 
					 | 
				
			||||||
                        KeePass.AndroidAppScheme + "com.android.settings",
 | 
					 | 
				
			||||||
                        KeePass.AndroidAppScheme + this.PackageName
 | 
					 | 
				
			||||||
                    };
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                return _internal_blacklistedUris;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        protected override void AttachBaseContext(Context baseContext)
 | 
					        protected override void AttachBaseContext(Context baseContext)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            base.AttachBaseContext(LocaleManager.setLocale(baseContext));
 | 
					            base.AttachBaseContext(LocaleManager.setLocale(baseContext));
 | 
				
			||||||
@@ -406,7 +386,7 @@ namespace keepass2android.services.AutofillBase
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        private bool CanAutofill(StructureParser.AutofillTargetId query, bool isManual)
 | 
					        private bool CanAutofill(StructureParser.AutofillTargetId query, bool isManual)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (BlacklistedUris.Contains(query.PackageNameWithPseudoSchema))
 | 
					            if (query.PackageNameWithPseudoSchema == KeePass.AndroidAppScheme+"android" || query.PackageNameWithPseudoSchema == KeePass.AndroidAppScheme + this.PackageName)
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            if (!isManual)
 | 
					            if (!isManual)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -80,7 +80,6 @@ namespace keepass2android.view
 | 
				
			|||||||
		private void PopulateView(View gv, PwGroup pw)
 | 
							private void PopulateView(View gv, PwGroup pw)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
			_pwGroup = pw;
 | 
								_pwGroup = pw;
 | 
				
			||||||
            Kp2aLog.Log($"Populating group view {_groupBaseActivity.IsFinishing} {pw.Name}");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (_groupBaseActivity.IsFinishing)
 | 
					            if (_groupBaseActivity.IsFinishing)
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user