Compare commits
1 Commits
1949--enab
...
2449--igno
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd7a2718c9 |
@@ -71,6 +71,12 @@ namespace Kp2aAutofillParserTest
|
||||
var resourceName = "Kp2aAutofillParserTest.com-expressvpn-vpn-android13.json";
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="android14-settings.json" />
|
||||
<None Remove="chrome-android10-amazon-it.json" />
|
||||
<None Remove="com-expressvpn-vpn-android13.json" />
|
||||
<None Remove="com-ifs-banking-fiid3364-android13.json" />
|
||||
@@ -54,6 +55,9 @@
|
||||
<EmbeddedResource Include="com-servicenet-mobile-no-focus.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="android14-settings.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="imdb.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
|
||||
99
src/Kp2aAutofillParserTest/android14-settings.json
Normal file
99
src/Kp2aAutofillParserTest/android14-settings.json
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
BIN
src/PCloudBindings/Jars/pcloud-sdk-android-1.8.1.aar
Normal file
BIN
src/PCloudBindings/Jars/pcloud-sdk-android-1.8.1.aar
Normal file
Binary file not shown.
Binary file not shown.
BIN
src/PCloudBindings/Jars/pcloud-sdk-java-core-1.8.1.jar
Normal file
BIN
src/PCloudBindings/Jars/pcloud-sdk-java-core-1.8.1.jar
Normal file
Binary file not shown.
Binary file not shown.
@@ -56,7 +56,7 @@
|
||||
<ItemGroup>
|
||||
<None Include="Jars\AboutJars.txt" />
|
||||
<None Include="Additions\AboutAdditions.txt" />
|
||||
<LibraryProjectZip Include="Jars\pcloud-sdk-android-1.9.1.aar" />
|
||||
<LibraryProjectZip Include="Jars\pcloud-sdk-android-1.8.1.aar" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<TransformFile Include="Transforms\Metadata.xml" />
|
||||
@@ -72,6 +72,6 @@
|
||||
</Target>
|
||||
-->
|
||||
<ItemGroup>
|
||||
<EmbeddedReferenceJar Include="Jars\pcloud-sdk-java-core-1.9.1.jar" />
|
||||
<EmbeddedReferenceJar Include="Jars\pcloud-sdk-java-core-1.8.1.jar" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -47,8 +47,8 @@ dependencies {
|
||||
implementation('com.onedrive.sdk:onedrive-sdk-android:1.2.0') {
|
||||
transitive = false
|
||||
}
|
||||
implementation 'com.pcloud.sdk:java-core:1.9.1'
|
||||
implementation 'com.pcloud.sdk:android:1.9.1'
|
||||
implementation 'com.pcloud.sdk:java-core:1.8.1'
|
||||
implementation 'com.pcloud.sdk:android:1.8.1'
|
||||
implementation 'com.google.code.gson:gson:2.8.6'
|
||||
implementation 'com.microsoft.services.msa:msa-auth:0.8.6'
|
||||
implementation 'com.microsoft.aad:adal:1.14.0'
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
package com.crocoapps.javafilestoragetest2;
|
||||
|
||||
import android.app.Application;
|
||||
import android.test.ApplicationTestCase;
|
||||
|
||||
/**
|
||||
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
|
||||
*/
|
||||
public class ApplicationTest extends ApplicationTestCase<Application> {
|
||||
public ApplicationTest() {
|
||||
super(Application.class);
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,26 @@ namespace keepass2android.services.AutofillBase
|
||||
|
||||
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)
|
||||
{
|
||||
base.AttachBaseContext(LocaleManager.setLocale(baseContext));
|
||||
@@ -386,7 +406,7 @@ namespace keepass2android.services.AutofillBase
|
||||
|
||||
private bool CanAutofill(StructureParser.AutofillTargetId query, bool isManual)
|
||||
{
|
||||
if (query.PackageNameWithPseudoSchema == KeePass.AndroidAppScheme+"android" || query.PackageNameWithPseudoSchema == KeePass.AndroidAppScheme + this.PackageName)
|
||||
if (BlacklistedUris.Contains(query.PackageNameWithPseudoSchema))
|
||||
return false;
|
||||
if (!isManual)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user