1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-16 08:13:20 +00:00

autofill WIP into main activity. created login selection page

This commit is contained in:
Kyle Spearrin
2017-01-27 23:13:28 -05:00
parent 61e0379eb3
commit 26667c0a59
10 changed files with 266 additions and 51 deletions

View File

@@ -14,6 +14,7 @@ using System.Reflection;
using Xamarin.Forms.Platform.Android;
using Xamarin.Forms;
using System.Threading.Tasks;
using Bit.App.Models.Page;
namespace Bit.Android
{
@@ -27,6 +28,12 @@ namespace Bit.Android
protected override void OnCreate(Bundle bundle)
{
var uri = Intent.GetStringExtra("uri");
if(uri != null && !Resolver.IsSet)
{
MainApplication.SetIoc(Application);
}
var policy = new StrictMode.ThreadPolicy.Builder().PermitAll().Build();
StrictMode.SetThreadPolicy(policy);
@@ -55,6 +62,7 @@ namespace Bit.Android
.SetValue(null, Color.FromHex("d2d6de"));
LoadApplication(new App.App(
uri,
Resolver.Resolve<IAuthService>(),
Resolver.Resolve<IConnectivity>(),
Resolver.Resolve<IUserDialogs>(),
@@ -70,6 +78,31 @@ namespace Bit.Android
{
RateApp();
});
MessagingCenter.Subscribe<Xamarin.Forms.Application, VaultListPageModel.Login>(
Xamarin.Forms.Application.Current, "Autofill", (sender, args) =>
{
ReturnCredentials(args);
});
}
private void ReturnCredentials(VaultListPageModel.Login login)
{
Intent data = new Intent();
data.PutExtra("uri", login.Uri.Value);
data.PutExtra("username", login.Username);
data.PutExtra("password", login.Password.Value);
if(Parent == null)
{
SetResult(Result.Ok, data);
}
else
{
Parent.SetResult(Result.Ok, data);
}
Finish();
}
protected override void OnPause()