Esempio n. 1
0
        private void ReturnCredentials(VaultListPageModel.Login login)
        {
            Intent data = new Intent();

            if (login == null)
            {
                data.PutExtra("canceled", "true");
            }
            else
            {
                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();
        }
Esempio n. 2
0
        private void ReturnCredentials(VaultListPageModel.Login login)
        {
            Intent data = new Intent();

            if (login == null)
            {
                data.PutExtra("canceled", "true");
            }
            else
            {
                var isPremium       = Resolver.Resolve <ITokenService>()?.TokenPremium ?? false;
                var autoCopyEnabled = !_settings.GetValueOrDefault(Constants.SettingDisableTotpCopy, false);
                if (isPremium && autoCopyEnabled && _deviceActionService != null && login.Totp.Value != null)
                {
                    _deviceActionService.CopyToClipboard(App.Utilities.Crypto.Totp(login.Totp.Value));
                }

                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();
        }
Esempio n. 3
0
        private void ReturnCredentials(VaultListPageModel.Login login)
        {
            Intent data = new Intent();

            if (login == null)
            {
                data.PutExtra("canceled", "true");
            }
            else
            {
                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);
            }

            MessagingCenter.Send(Xamarin.Forms.Application.Current, "SetMainPage");
            Finish();
        }
Esempio n. 4
0
        private async void MoreClickedAsync(VaultListPageModel.Login login)
        {
            var buttons = new List <string> {
                AppResources.View, AppResources.Edit
            };

            if (!string.IsNullOrWhiteSpace(login.Password.Value))
            {
                buttons.Add(AppResources.CopyPassword);
            }
            if (!string.IsNullOrWhiteSpace(login.Username))
            {
                buttons.Add(AppResources.CopyUsername);
            }
            if (!string.IsNullOrWhiteSpace(login.Uri.Value) && (login.Uri.Value.StartsWith("http://") ||
                                                                login.Uri.Value.StartsWith("https://")))
            {
                buttons.Add(AppResources.GoToWebsite);
            }

            var selection = await DisplayActionSheet(login.Name, AppResources.Cancel, null, buttons.ToArray());

            if (selection == AppResources.View)
            {
                var page = new VaultViewLoginPage(login.Id);
                await Navigation.PushForDeviceAsync(page);
            }
            else if (selection == AppResources.Edit)
            {
                var page = new VaultEditLoginPage(login.Id);
                await Navigation.PushForDeviceAsync(page);
            }
            else if (selection == AppResources.CopyPassword)
            {
                Copy(login.Password.Value, AppResources.Password);
            }
            else if (selection == AppResources.CopyUsername)
            {
                Copy(login.Username, AppResources.Username);
            }
            else if (selection == AppResources.GoToWebsite)
            {
                Device.OpenUri(new Uri(login.Uri.Value));
            }
        }