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(); CardCodeCell.Button1.Clicked -= CardCodeButton_Clicked; 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); }
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(); CardCodeCell.Button1.Clicked += CardCodeButton_Clicked; 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(); } }