mirror of
https://github.com/bitwarden/mobile.git
synced 2024-11-28 12:35:40 +01:00
Setup lock apge segues from site list VC. Implemented touchid checking in lock fingerprint VC.
This commit is contained in:
parent
4f9740043b
commit
7fb51b5aa4
@ -5,12 +5,15 @@ using XLabs.Ioc;
|
|||||||
using Plugin.Settings.Abstractions;
|
using Plugin.Settings.Abstractions;
|
||||||
using Foundation;
|
using Foundation;
|
||||||
using MobileCoreServices;
|
using MobileCoreServices;
|
||||||
|
using Plugin.Fingerprint.Abstractions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Bit.iOS.Extension
|
namespace Bit.iOS.Extension
|
||||||
{
|
{
|
||||||
public partial class LockFingerprintViewController : UIViewController
|
public partial class LockFingerprintViewController : UIViewController
|
||||||
{
|
{
|
||||||
private ISettings _settings;
|
private ISettings _settings;
|
||||||
|
private IFingerprint _fingerprint;
|
||||||
|
|
||||||
public LockFingerprintViewController(IntPtr handle) : base(handle)
|
public LockFingerprintViewController(IntPtr handle) : base(handle)
|
||||||
{ }
|
{ }
|
||||||
@ -27,14 +30,30 @@ namespace Bit.iOS.Extension
|
|||||||
public override void ViewDidLoad()
|
public override void ViewDidLoad()
|
||||||
{
|
{
|
||||||
_settings = Resolver.Resolve<ISettings>();
|
_settings = Resolver.Resolve<ISettings>();
|
||||||
|
_fingerprint = Resolver.Resolve<IFingerprint>();
|
||||||
|
|
||||||
View.BackgroundColor = new UIColor(red: 0.94f, green: 0.94f, blue: 0.96f, alpha: 1.0f);
|
View.BackgroundColor = new UIColor(red: 0.94f, green: 0.94f, blue: 0.96f, alpha: 1.0f);
|
||||||
|
|
||||||
var descriptor = UIFontDescriptor.PreferredBody;
|
var descriptor = UIFontDescriptor.PreferredBody;
|
||||||
|
UseButton.Font = UIFont.FromDescriptor(descriptor, descriptor.PointSize);
|
||||||
|
UseButton.BackgroundColor = new UIColor(red: 0.24f, green: 0.55f, blue: 0.74f, alpha: 1.0f);
|
||||||
|
UseButton.TintColor = UIColor.White;
|
||||||
|
UseButton.TouchUpInside += UseButton_TouchUpInside;
|
||||||
|
|
||||||
base.ViewDidLoad();
|
base.ViewDidLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UseButton_TouchUpInside(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var task = CheckFingerprintAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ViewDidAppear(bool animated)
|
||||||
|
{
|
||||||
|
base.ViewDidAppear(animated);
|
||||||
|
var task = CheckFingerprintAsync();
|
||||||
|
}
|
||||||
|
|
||||||
partial void CancelButton_Activated(UIBarButtonItem sender)
|
partial void CancelButton_Activated(UIBarButtonItem sender)
|
||||||
{
|
{
|
||||||
CompleteRequest();
|
CompleteRequest();
|
||||||
@ -48,5 +67,14 @@ namespace Bit.iOS.Extension
|
|||||||
|
|
||||||
Context.ExtContext.CompleteRequest(returningItems, null);
|
Context.ExtContext.CompleteRequest(returningItems, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task CheckFingerprintAsync()
|
||||||
|
{
|
||||||
|
var result = await _fingerprint.AuthenticateAsync("Use your fingerprint to verify.");
|
||||||
|
if(result.Authenticated)
|
||||||
|
{
|
||||||
|
DismissModalViewController(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -174,8 +174,8 @@
|
|||||||
<outlet property="CancelBarButton" destination="3735" id="name-outlet-3735"/>
|
<outlet property="CancelBarButton" destination="3735" id="name-outlet-3735"/>
|
||||||
<outlet property="NavItem" destination="3734" id="name-outlet-3734"/>
|
<outlet property="NavItem" destination="3734" id="name-outlet-3734"/>
|
||||||
<segue id="6763" destination="6512" kind="presentation" identifier="lockFingerprintSegue" animates="NO" modalPresentationStyle="" modalTransitionStyle=""/>
|
<segue id="6763" destination="6512" kind="presentation" identifier="lockFingerprintSegue" animates="NO" modalPresentationStyle="" modalTransitionStyle=""/>
|
||||||
<segue id="7049" destination="6815" kind="presentation" identifier="lockPinSegue"/>
|
<segue id="7049" destination="6815" kind="presentation" identifier="lockPinSegue" animates="NO"/>
|
||||||
<segue id="7291" destination="6855" kind="presentation" identifier="lockPasswordSegue"/>
|
<segue id="7291" destination="6855" kind="presentation" identifier="lockPasswordSegue" animates="NO"/>
|
||||||
</connections>
|
</connections>
|
||||||
<toolbarItems/>
|
<toolbarItems/>
|
||||||
<simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
|
<simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
|
||||||
|
@ -32,8 +32,19 @@ namespace Bit.iOS.Extension
|
|||||||
{
|
{
|
||||||
base.ViewDidLoad();
|
base.ViewDidLoad();
|
||||||
|
|
||||||
|
// TODO: lock logic
|
||||||
|
if(true)
|
||||||
|
{
|
||||||
|
PerformSegue("lockFingerprintSegue", this);
|
||||||
|
}
|
||||||
|
else if(true)
|
||||||
|
{
|
||||||
|
PerformSegue("lockPinSegue", this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PerformSegue("lockPasswordSegue", this);
|
||||||
|
}
|
||||||
|
|
||||||
IEnumerable<SiteViewModel> filteredSiteModels = new List<SiteViewModel>();
|
IEnumerable<SiteViewModel> filteredSiteModels = new List<SiteViewModel>();
|
||||||
if(Context.DomainName != null)
|
if(Context.DomainName != null)
|
||||||
@ -74,11 +85,27 @@ namespace Bit.iOS.Extension
|
|||||||
if(navController != null)
|
if(navController != null)
|
||||||
{
|
{
|
||||||
var addSiteController = navController.TopViewController as SiteAddViewController;
|
var addSiteController = navController.TopViewController as SiteAddViewController;
|
||||||
|
var fingerprintViewController = navController.TopViewController as LockFingerprintViewController;
|
||||||
|
var pinViewController = navController.TopViewController as LockPinViewController;
|
||||||
|
var passwordViewController = navController.TopViewController as LockPasswordViewController;
|
||||||
|
|
||||||
if(addSiteController != null)
|
if(addSiteController != null)
|
||||||
{
|
{
|
||||||
addSiteController.Context = Context;
|
addSiteController.Context = Context;
|
||||||
addSiteController.Parent = this;
|
addSiteController.Parent = this;
|
||||||
}
|
}
|
||||||
|
else if(fingerprintViewController != null)
|
||||||
|
{
|
||||||
|
fingerprintViewController.Context = Context;
|
||||||
|
}
|
||||||
|
else if(pinViewController != null)
|
||||||
|
{
|
||||||
|
pinViewController.Context = Context;
|
||||||
|
}
|
||||||
|
else if(passwordViewController != null)
|
||||||
|
{
|
||||||
|
passwordViewController.Context = Context;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,17 +147,17 @@ namespace Bit.iOS.Extension
|
|||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void WillDisplay( UITableView tableView, UITableViewCell cell, NSIndexPath indexPath )
|
public override void WillDisplay(UITableView tableView, UITableViewCell cell, NSIndexPath indexPath)
|
||||||
{
|
{
|
||||||
if(cell == null)
|
if(cell == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var item = _tableItems.ElementAt( indexPath.Row );
|
var item = _tableItems.ElementAt(indexPath.Row);
|
||||||
cell.TextLabel.Text = item.Name;
|
cell.TextLabel.Text = item.Name;
|
||||||
cell.DetailTextLabel.Text = item.Username;
|
cell.DetailTextLabel.Text = item.Username;
|
||||||
cell.DetailTextLabel.TextColor = cell.DetailTextLabel.TintColor = new UIColor( red: 0.47f, green: 0.47f, blue: 0.47f, alpha: 1.0f );
|
cell.DetailTextLabel.TextColor = cell.DetailTextLabel.TintColor = new UIColor(red: 0.47f, green: 0.47f, blue: 0.47f, alpha: 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
|
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
|
||||||
|
Loading…
Reference in New Issue
Block a user