Exemplo n.º 1
0
        protected override void OnDisappearing()
        {
            base.OnDisappearing();

            NameCell.Dispose();
            NotesCell.Dispose();
            FolderCell.Dispose();

            if (AddFieldCell != null)
            {
                AddFieldCell.Tapped -= AddFieldCell_Tapped;
            }
            if (AddUriCell != null)
            {
                AddUriCell.Tapped -= AddUriCell_Tapped;
            }

            switch (_type)
            {
            case CipherType.Login:
                LoginTotpCell.Dispose();
                LoginPasswordCell.Dispose();
                LoginUsernameCell.Dispose();
                LoginPasswordCell.Button1.Clicked -= PasswordButton_Clicked;
                LoginPasswordCell.Button2.Clicked -= PasswordButton2_Clicked;
                if (LoginTotpCell?.Button1 != null)
                {
                    LoginTotpCell.Button1.Clicked -= TotpButton_Clicked;
                }
                break;

            case CipherType.Card:
                CardBrandCell.Dispose();
                CardCodeCell.Dispose();
                CardExpMonthCell.Dispose();
                CardExpYearCell.Dispose();
                CardNameCell.Dispose();
                CardNumberCell.Dispose();
                break;

            case CipherType.Identity:
                IdTitleCell.Dispose();
                IdFirstNameCell.Dispose();
                IdMiddleNameCell.Dispose();
                IdLastNameCell.Dispose();
                IdUsernameCell.Dispose();
                IdCompanyCell.Dispose();
                IdSsnCell.Dispose();
                IdPassportNumberCell.Dispose();
                IdLicenseNumberCell.Dispose();
                IdEmailCell.Dispose();
                IdPhoneCell.Dispose();
                IdAddress1Cell.Dispose();
                IdAddress2Cell.Dispose();
                IdAddress3Cell.Dispose();
                IdCityCell.Dispose();
                IdStateCell.Dispose();
                IdPostalCodeCell.Dispose();
                IdCountryCell.Dispose();
                break;

            default:
                break;
            }

            Helpers.DisposeSectionEvents(FieldsSection);
            Helpers.DisposeSectionEvents(UrisSection);
        }
Exemplo n.º 2
0
        protected override void OnAppearing()
        {
            base.OnAppearing();
            if (!_connectivity.IsConnected)
            {
                AlertNoConnection();
            }

            NameCell.InitEvents();
            NotesCell.InitEvents();
            FolderCell.InitEvents();

            if (AddFieldCell != null)
            {
                AddFieldCell.Tapped += AddFieldCell_Tapped;
            }
            if (AddUriCell != null)
            {
                AddUriCell.Tapped += AddUriCell_Tapped;
            }

            switch (_type)
            {
            case CipherType.Login:
                LoginPasswordCell.InitEvents();
                LoginUsernameCell.InitEvents();
                LoginTotpCell.InitEvents();
                LoginPasswordCell.Button1.Clicked += PasswordButton_Clicked;
                LoginPasswordCell.Button2.Clicked += PasswordButton2_Clicked;
                if (LoginTotpCell?.Button1 != null)
                {
                    LoginTotpCell.Button1.Clicked += TotpButton_Clicked;
                }
                break;

            case CipherType.Card:
                CardBrandCell.InitEvents();
                CardCodeCell.InitEvents();
                CardExpMonthCell.InitEvents();
                CardExpYearCell.InitEvents();
                CardNameCell.InitEvents();
                CardNumberCell.InitEvents();
                break;

            case CipherType.Identity:
                IdTitleCell.InitEvents();
                IdFirstNameCell.InitEvents();
                IdMiddleNameCell.InitEvents();
                IdLastNameCell.InitEvents();
                IdUsernameCell.InitEvents();
                IdCompanyCell.InitEvents();
                IdSsnCell.InitEvents();
                IdPassportNumberCell.InitEvents();
                IdLicenseNumberCell.InitEvents();
                IdEmailCell.InitEvents();
                IdPhoneCell.InitEvents();
                IdAddress1Cell.InitEvents();
                IdAddress2Cell.InitEvents();
                IdAddress3Cell.InitEvents();
                IdCityCell.InitEvents();
                IdStateCell.InitEvents();
                IdPostalCodeCell.InitEvents();
                IdCountryCell.InitEvents();
                break;

            default:
                break;
            }

            Helpers.InitSectionEvents(FieldsSection);
            Helpers.InitSectionEvents(UrisSection);

            if (_type == CipherType.Login && !_fromAutofill && !_settings.GetValueOrDefault(AddedLoginAlertKey, false))
            {
                _settings.AddOrUpdateValue(AddedLoginAlertKey, true);
                if (Device.RuntimePlatform == Device.iOS)
                {
                    DisplayAlert(AppResources.BitwardenAppExtension, AppResources.BitwardenAppExtensionAlert,
                                 AppResources.Ok);
                }
                else if (Device.RuntimePlatform == Device.Android && !_appInfoService.AutofillAccessibilityServiceEnabled)
                {
                    DisplayAlert(AppResources.BitwardenAutofillService, AppResources.BitwardenAutofillServiceAlert,
                                 AppResources.Ok);
                }
            }

            if (NameCell != null && string.IsNullOrWhiteSpace(NameCell.Entry.Text))
            {
                NameCell.Entry.FocusWithDelay();
            }
            else if (LoginUsernameCell != null && string.IsNullOrWhiteSpace(LoginUsernameCell.Entry.Text))
            {
                LoginUsernameCell.Entry.FocusWithDelay();
            }
        }