protected override void OnDisappearing()
        {
            base.OnDisappearing();

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

            switch (_type)
            {
            case CipherType.Login:
                LoginTotpCell.Dispose();
                LoginPasswordCell.Dispose();
                LoginUsernameCell.Dispose();
                LoginUriCell.Dispose();
                LoginPasswordCell.Button.Clicked -= PasswordButton_Clicked;
                LoginGenerateCell.Tapped         -= GenerateCell_Tapped;
                if (LoginTotpCell?.Button != null)
                {
                    LoginTotpCell.Button.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;
            }
        }
Beispiel #2
0
        protected override void OnDisappearing()
        {
            base.OnDisappearing();

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

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

            switch (Cipher.Type)
            {
            case CipherType.Login:
                LoginTotpCell?.Dispose();
                LoginPasswordCell?.Dispose();
                LoginUsernameCell?.Dispose();
                if (LoginPasswordCell?.Button1 != null)
                {
                    LoginPasswordCell.Button1.Clicked -= PasswordButton_Clicked;
                }
                if (LoginPasswordCell?.Button2 != null)
                {
                    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();
                if (CardCodeCell?.Button1 != null)
                {
                    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);
        }