Compare commits
	
		
			1 Commits
		
	
	
		
			1327--repl
			...
			2478--auto
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | acf55b1f85 | 
| @@ -72,6 +72,13 @@ namespace Kp2aAutofillParserTest | ||||
|             RunTestFromAutofillInput(resourceName, "com.expressvpn.vpn", null); | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|         public void HandlesAutospillGracefully() | ||||
|         { | ||||
|             var resourceName = "Kp2aAutofillParserTest.autospill.json"; | ||||
|             RunTestFromAutofillInput(resourceName, "com.vivaldi.browser", "m.facebook.com"); | ||||
|         } | ||||
|  | ||||
|         private void RunTestFromAutofillInput(string resourceName, string expectedPackageName = null, string expectedWebDomain = null) | ||||
|         { | ||||
|             var assembly = Assembly.GetExecutingAssembly(); | ||||
|   | ||||
| @@ -9,6 +9,7 @@ | ||||
|   </PropertyGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <None Remove="autospill.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="autospill.json"> | ||||
|       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="imdb.json"> | ||||
|       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||||
|     </EmbeddedResource> | ||||
|   | ||||
							
								
								
									
										48
									
								
								src/Kp2aAutofillParserTest/autospill.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								src/Kp2aAutofillParserTest/autospill.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| { | ||||
|   "InputFields": [ | ||||
|     { | ||||
|       "IdEntry": "native_username", | ||||
|       "ClassName": "android.widget.EditText", | ||||
|       "AutofillHints": null, | ||||
|       "IsFocused": false, | ||||
|       "InputType": 1, | ||||
|       "HtmlInfoTag": null, | ||||
|       "HtmlInfoTypeAttribute": null, | ||||
|       "ExpectedAssignedHints": ["username"] | ||||
|     }, | ||||
|     { | ||||
|       "IdEntry": "native_password", | ||||
|       "ClassName": "android.widget.EditText", | ||||
|       "AutofillHints": null, | ||||
|       "IsFocused": false, | ||||
|       "InputType": 129, | ||||
|       "HtmlInfoTag": null, | ||||
|       "HtmlInfoTypeAttribute": null, | ||||
|       "ExpectedAssignedHints": [] | ||||
|     }, | ||||
|     { | ||||
|       "IdEntry": "webview_email", | ||||
|       "ClassName": "android.widget.EditText", | ||||
|       "AutofillHints": [ "email" ], | ||||
|       "IsFocused": true, | ||||
|       "InputType": 0, | ||||
|       "HtmlInfoTag": null, | ||||
|       "HtmlInfoTypeAttribute": null, | ||||
|       "ExpectedAssignedHints": [ "emailAddress" ] | ||||
|     }, | ||||
|     { | ||||
|       "IdEntry": "webview_password", | ||||
|       "ClassName": "android.widget.EditText", | ||||
|       "AutofillHints": [ | ||||
|         "password" | ||||
|       ], | ||||
|       "IsFocused": false, | ||||
|       "InputType": 0, | ||||
|       "HtmlInfoTag": null, | ||||
|       "HtmlInfoTypeAttribute": null, | ||||
|       "ExpectedAssignedHints": [ "password" ] | ||||
|     } | ||||
|   ], | ||||
|   "PackageId": "com.vivaldi.browser", | ||||
|   "WebDomain": "m.facebook.com" | ||||
| }         | ||||
| @@ -68,8 +68,5 @@ | ||||
|   <ItemGroup> | ||||
|     <None Include="Resources\AboutResources.txt" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <AndroidResource Include="Resources\values\Strings.xml" /> | ||||
|   </ItemGroup> | ||||
|   <Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" /> | ||||
| </Project> | ||||
| @@ -937,8 +937,9 @@ namespace keepass2android | ||||
| 				iv.SetImageDrawable(Resources.GetDrawable(Resource.Drawable.ic00)); | ||||
| 			} | ||||
|  | ||||
|  | ||||
|  | ||||
|             SupportActionBar.Title = Entry.Strings.ReadSafe(PwDefs.TitleField); | ||||
|             SupportActionBar.Title = SprEngine.Compile(SupportActionBar.Title, new SprContext(Entry, App.Kp2a.CurrentDb.KpDatabase, SprCompileFlags.All)); | ||||
|             SupportActionBar.SetDisplayHomeAsUpEnabled(true); | ||||
|             SupportActionBar.SetHomeButtonEnabled(true); | ||||
|  | ||||
|   | ||||
| @@ -30,7 +30,6 @@ using KeePassLib; | ||||
| using KeePassLib.Utility; | ||||
| using System.Threading; | ||||
| using System.Collections.Generic; | ||||
| using KeePass.Util.Spr; | ||||
|  | ||||
| namespace keepass2android.search | ||||
| { | ||||
| @@ -295,10 +294,7 @@ namespace keepass2android.search | ||||
|                             return Position.ToString(CultureInfo.InvariantCulture); | ||||
|                         case 1: // SuggestColumnText1 | ||||
|                             string username = CurrentEntry.Strings.ReadSafe(PwDefs.UserNameField); | ||||
| 							username = SprEngine.Compile(username, new SprContext(CurrentEntry, App.Kp2a.CurrentDb.KpDatabase, SprCompileFlags.All)); | ||||
|                             var title = CurrentEntry.Strings.ReadSafe(PwDefs.TitleField); | ||||
|                             title = SprEngine.Compile(title, new SprContext(CurrentEntry, App.Kp2a.CurrentDb.KpDatabase, SprCompileFlags.All)); | ||||
|                             return title + (string.IsNullOrWhiteSpace(username) ? "" : " ("+username+")"); | ||||
|                             return CurrentEntry.Strings.ReadSafe(PwDefs.TitleField) + (string.IsNullOrWhiteSpace(username) ? "" : " ("+username+")"); | ||||
|                         case 2: // SuggestColumnText2 | ||||
|                                 return Internationalise(_entriesWithContexts[Position].resultContext); | ||||
|                         case 3: // SuggestColumnIcon1 | ||||
|   | ||||
| @@ -10,7 +10,6 @@ using Android.OS; | ||||
| using Android.Runtime; | ||||
| using Android.Views; | ||||
| using Android.Widget; | ||||
| using KeePass.Util.Spr; | ||||
| using keepass2android.services.AutofillBase; | ||||
| using keepass2android.services.AutofillBase.model; | ||||
| using Keepass2android.Pluginsdk; | ||||
| @@ -109,7 +108,6 @@ namespace keepass2android.services.Kp2aAutofill | ||||
|  | ||||
|  | ||||
|             fieldCollection.DatasetName = pwEntry.Strings.ReadSafe(PwDefs.TitleField); | ||||
|             fieldCollection.DatasetName = SprEngine.Compile(fieldCollection.DatasetName, new SprContext(pwEntry, App.Kp2a.CurrentDb.KpDatabase, SprCompileFlags.All)); | ||||
|  | ||||
|             return fieldCollection; | ||||
|         } | ||||
|   | ||||
| @@ -125,7 +125,6 @@ namespace keepass2android.view | ||||
| 			} | ||||
|  | ||||
| 			String title = pw.Strings.ReadSafe(PwDefs.TitleField); | ||||
|             title = SprEngine.Compile(title, new SprContext(_entry, db.KpDatabase, SprCompileFlags.All)); | ||||
| 			var str = new SpannableString(title); | ||||
|  | ||||
| 			if (isExpired) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user