Skip to content

Commit

Permalink
fix(GiniHealthSDK): Remove isPaymentProviderInstalled logic where no …
Browse files Browse the repository at this point in the history
…more needed
  • Loading branch information
razvancapra committed Apr 11, 2024
1 parent f1ff74e commit 1b363c6
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 40 deletions.
9 changes: 0 additions & 9 deletions GiniMobile.xcworkspace/xcshareddata/swiftpm/Package.resolved
Original file line number Diff line number Diff line change
@@ -1,15 +1,6 @@
{
"object": {
"pins": [
{
"package": "Lottie",
"repositoryURL": "https://github.com/airbnb/lottie-ios.git",
"state": {
"branch": null,
"revision": "d6feea26a370019b4d3a85f5984cb95a2734776f",
"version": "4.2.0"
}
},
{
"package": "TrustKit",
"repositoryURL": "https://github.com/datatheorem/TrustKit.git",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,7 @@ final class PaymentComponentView: UIView {
button.customConfigure(labelText: viewModel.bankNameLabelText,
leftImageIcon: viewModel.bankImageIcon,
rightImageIcon: viewModel.chevronDownIconName,
rightImageTintColor: viewModel.chevronDownIconColor,
isPaymentProviderInstalled: true,
notInstalledTextColor: viewModel.notInstalledBankTextColor)
rightImageTintColor: viewModel.chevronDownIconColor)
return button
}()

Expand All @@ -113,8 +111,7 @@ final class PaymentComponentView: UIView {
button.translatesAutoresizingMaskIntoConstraints = false
button.frame = CGRect(x: 0, y: 0, width: .greatestFiniteMagnitude, height: Constants.buttonViewHeight)
button.configure(with: viewModel.giniHealthConfiguration.primaryButtonConfiguration)
button.customConfigure(paymentProviderColors: viewModel.paymentProviderColors,
isPaymentProviderInstalled: true,
button.customConfigure(paymentProviderColors: viewModel.paymentProviderColors,
text: viewModel.payInvoiceLabelText)
return button
}()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ extension PaymentPrimaryButton {
}
}

func customConfigure(paymentProviderColors: ProviderColors?, isPaymentProviderInstalled: Bool, text: String, leftImageData: Data? = nil) {
if let backgroundHexColor = paymentProviderColors?.background.toColor(), isPaymentProviderInstalled {
func customConfigure(paymentProviderColors: ProviderColors?, text: String, leftImageData: Data? = nil) {
if let backgroundHexColor = paymentProviderColors?.background.toColor() {
contentView.backgroundColor = backgroundHexColor
}
contentView.isUserInteractionEnabled = isPaymentProviderInstalled
contentView.isUserInteractionEnabled = true

titleLabel.text = text
if let textHexColor = paymentProviderColors?.text.toColor() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,22 +69,15 @@ final class PaymentSecondaryButton: UIView {
])
}

private func activateBankImageViewConstraints(isPaymentProviderInstalled: Bool) {
if isPaymentProviderInstalled {
leftImageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: Constants.contentLeadingPadding).isActive = true
leftImageView.centerYAnchor.constraint(equalTo: contentView.centerYAnchor).isActive = true
leftImageView.widthAnchor.constraint(equalToConstant: leftImageView.frame.width).isActive = true
leftImageView.heightAnchor.constraint(equalToConstant: leftImageView.frame.height).isActive = true
let bankNameBankViewConstraint = titleLabel.leadingAnchor.constraint(equalTo: leftImageView.trailingAnchor, constant: Constants.contentLeadingPadding)
bankNameBankViewConstraint.priority = .required - 1 // fix needed because of embeded views in cells issue. We need this to silent the "Unable to simultaneously satisfy constraints" warning
bankNameBankViewConstraint.isActive = true
leftImageView.centerYAnchor.constraint(equalTo: titleLabel.centerYAnchor).isActive = true
} else {
let bankNameLeadingSuperviewConstraint = titleLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: Constants.contentLeadingPadding)
bankNameLeadingSuperviewConstraint.priority = .required - 1
bankNameLeadingSuperviewConstraint.isActive = true
contentView.centerYAnchor.constraint(equalTo: titleLabel.centerYAnchor).isActive = true
}
private func activateBankImageViewConstraints() {
leftImageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: Constants.contentLeadingPadding).isActive = true
leftImageView.centerYAnchor.constraint(equalTo: contentView.centerYAnchor).isActive = true
leftImageView.widthAnchor.constraint(equalToConstant: leftImageView.frame.width).isActive = true
leftImageView.heightAnchor.constraint(equalToConstant: leftImageView.frame.height).isActive = true
let bankNameBankViewConstraint = titleLabel.leadingAnchor.constraint(equalTo: leftImageView.trailingAnchor, constant: Constants.contentLeadingPadding)
bankNameBankViewConstraint.priority = .required - 1 // fix needed because of embeded views in cells issue. We need this to silent the "Unable to simultaneously satisfy constraints" warning
bankNameBankViewConstraint.isActive = true
leftImageView.centerYAnchor.constraint(equalTo: titleLabel.centerYAnchor).isActive = true
}

@objc
Expand All @@ -110,8 +103,8 @@ extension PaymentSecondaryButton {
}
}

func customConfigure(labelText: String, leftImageIcon: UIImage?, rightImageIcon: String?, rightImageTintColor: UIColor, isPaymentProviderInstalled: Bool, notInstalledTextColor: UIColor) {
if let leftImageIcon, isPaymentProviderInstalled {
func customConfigure(labelText: String, leftImageIcon: UIImage?, rightImageIcon: String?, rightImageTintColor: UIColor) {
if let leftImageIcon {
leftImageView.image = leftImageIcon
leftImageView.isHidden = false
} else {
Expand All @@ -125,10 +118,7 @@ extension PaymentSecondaryButton {
rightImageView.isHidden = true
}
titleLabel.text = labelText
if !isPaymentProviderInstalled {
titleLabel.textColor = notInstalledTextColor
}
activateBankImageViewConstraints(isPaymentProviderInstalled: isPaymentProviderInstalled)
activateBankImageViewConstraints()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,6 @@ public final class PaymentReviewViewController: UIViewController, UIGestureRecog
guard let model else { return }
payInvoiceButton.configure(with: giniHealthConfiguration.primaryButtonConfiguration)
payInvoiceButton.customConfigure(paymentProviderColors: selectedPaymentProvider?.colors,
isPaymentProviderInstalled: true,
text: model.payInvoiceLabelText,
leftImageData: selectedPaymentProvider?.iconData)
disablePayButtonIfNeeded()
Expand Down

0 comments on commit 1b363c6

Please sign in to comment.