1
0
mirror of https://github.com/bitwarden/mobile synced 2026-02-12 14:23:21 +00:00

Added setup view controller to app extension.

This commit is contained in:
Kyle Spearrin
2016-07-26 22:28:02 -04:00
parent 6371343dc5
commit 669385df0f
8 changed files with 213 additions and 28 deletions

View File

@@ -26,7 +26,7 @@ namespace Bit.iOS.Extension
{
private Context _context = new Context();
private bool _setupHockeyApp = false;
private readonly JsonSerializerSettings _jsonSettings =
private readonly JsonSerializerSettings _jsonSettings =
new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
public LoadingViewController(IntPtr handle) : base(handle)
@@ -39,10 +39,6 @@ namespace Bit.iOS.Extension
View.BackgroundColor = new UIColor(red: 0.94f, green: 0.94f, blue: 0.96f, alpha: 1.0f);
_context.ExtContext = ExtensionContext;
var descriptor = UIFontDescriptor.PreferredBody;
DecryptingLabel.Font = UIFont.FromDescriptor(descriptor, descriptor.PointSize);
DecryptingLabel.TextColor = new UIColor(red: 0.47f, green: 0.47f, blue: 0.47f, alpha: 1.0f);
if(!Resolver.IsSet)
{
SetIoc();
@@ -69,7 +65,8 @@ namespace Bit.iOS.Extension
|| ProcessFindLoginBrowserProvider(itemProvider, Constants.UTTypeAppExtensionFillBrowserAction)
|| ProcessFindLoginBrowserProvider(itemProvider, Constants.UTTypeAppExtensionFillWebViewAction)
|| ProcessSaveLoginProvider(itemProvider)
|| ProcessChangePasswordProvider(itemProvider))
|| ProcessChangePasswordProvider(itemProvider)
|| ProcessExtensionSetupProvider(itemProvider))
{
processed = true;
break;
@@ -116,6 +113,10 @@ namespace Bit.iOS.Extension
{
PerformSegue("newSiteSegue", this);
}
else if(_context.ProviderType == Constants.UTTypeAppExtensionSetup)
{
PerformSegue("setupSegue", this);
}
else
{
PerformSegue("siteListSegue", this);
@@ -134,6 +135,7 @@ namespace Bit.iOS.Extension
var fingerprintViewController = navController.TopViewController as LockFingerprintViewController;
var pinViewController = navController.TopViewController as LockPinViewController;
var passwordViewController = navController.TopViewController as LockPasswordViewController;
var setupViewController = navController.TopViewController as SetupViewController;
if(listSiteController != null)
{
@@ -160,6 +162,11 @@ namespace Bit.iOS.Extension
passwordViewController.Context = _context;
passwordViewController.LoadingController = this;
}
else if(setupViewController != null)
{
setupViewController.Context = _context;
setupViewController.LoadingController = this;
}
}
}
@@ -403,6 +410,17 @@ namespace Bit.iOS.Extension
});
}
private bool ProcessExtensionSetupProvider(NSItemProvider itemProvider)
{
if(itemProvider.HasItemConformingTo(Constants.UTTypeAppExtensionSetup))
{
_context.ProviderType = Constants.UTTypeAppExtensionSetup;
return true;
}
return false;
}
private T DeserializeDictionary<T>(NSDictionary dict)
{
if(dict != null)