2019-06-27 02:28:23 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace Bit.iOS.Core.Models
|
|
|
|
|
{
|
|
|
|
|
public class AppExtensionContext
|
|
|
|
|
{
|
|
|
|
|
private string _uriString;
|
|
|
|
|
|
|
|
|
|
public Uri Uri
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (string.IsNullOrWhiteSpace(UrlString) || !Uri.TryCreate(UrlString, UriKind.Absolute, out Uri uri))
|
2019-06-27 02:28:23 +02:00
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return uri;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string UrlString
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return _uriString;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_uriString = value;
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (string.IsNullOrWhiteSpace(_uriString))
|
2019-06-27 02:28:23 +02:00
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (!_uriString.StartsWith(Bit.Core.Constants.iOSAppProtocol) && _uriString.Contains("."))
|
2019-06-27 02:28:23 +02:00
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (!_uriString.Contains("://") && !_uriString.Contains(" "))
|
2019-06-27 02:28:23 +02:00
|
|
|
|
{
|
|
|
|
|
_uriString = string.Concat("http://", _uriString);
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (!_uriString.StartsWith("http") && !_uriString.StartsWith(Bit.Core.Constants.iOSAppProtocol))
|
2019-06-27 02:28:23 +02:00
|
|
|
|
{
|
|
|
|
|
_uriString = string.Concat(Bit.Core.Constants.iOSAppProtocol, _uriString);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public PasswordGenerationOptions PasswordOptions { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|