1
0
mirror of https://github.com/bitwarden/mobile synced 2026-01-21 03:43:17 +00:00

more updates to autofill flow

This commit is contained in:
Kyle Spearrin
2017-02-13 22:10:34 -05:00
parent ddec7ab643
commit 36d4ce8718
6 changed files with 166 additions and 42 deletions

View File

@@ -70,7 +70,7 @@ namespace Bit.App.Services
{
if(domainName == null)
{
androidApp = uriString.StartsWith(Constants.AndroidAppProtocol);
androidApp = UriIsAndroidApp(uriString);
}
}
@@ -79,16 +79,7 @@ namespace Bit.App.Services
return null;
}
string androidAppWebUriString = null;
if(androidApp)
{
var androidUriParts = uriString.Replace(Constants.AndroidAppProtocol, string.Empty).Split('.');
if(androidUriParts.Length >= 2)
{
androidAppWebUriString = string.Join(".", androidUriParts[1], androidUriParts[0]);
}
}
var androidAppWebUriString = WebUriFromAndroidAppUri(uriString);
var eqDomains = (await _settingsService.GetEquivalentDomainsAsync()).Select(d => d.ToArray());
var matchingDomains = new List<string>();
var matchingFuzzyDomains = new List<string>();
@@ -150,6 +141,11 @@ namespace Bit.App.Services
matchingFuzzyLogins.Add(new Login(login));
continue;
}
else if(!androidApp && Array.IndexOf(matchingDomainsArray, WebUriFromAndroidAppUri(loginUriString)) >= 0)
{
matchingFuzzyLogins.Add(new Login(login));
continue;
}
Uri loginUri;
DomainName loginDomainName;
@@ -223,5 +219,26 @@ namespace Bit.App.Services
return response;
}
private string WebUriFromAndroidAppUri(string androidAppUriString)
{
if(!UriIsAndroidApp(androidAppUriString))
{
return null;
}
var androidUriParts = androidAppUriString.Replace(Constants.AndroidAppProtocol, string.Empty).Split('.');
if(androidUriParts.Length >= 2)
{
return string.Join(".", androidUriParts[1], androidUriParts[0]);
}
return null;
}
private bool UriIsAndroidApp(string uriString)
{
return uriString.StartsWith(Constants.AndroidAppProtocol);
}
}
}