Skip to content

Commit

Permalink
Release 1.2.1
Browse files Browse the repository at this point in the history
Stage
  • Loading branch information
Dmytro Kos committed Jul 3, 2020
2 parents 0274651 + 264c70a commit c296f9f
Show file tree
Hide file tree
Showing 189 changed files with 4,608 additions and 949 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,13 @@ import com.verygoodsecurity.vgscollect.core.model.network.VGSResponse
import com.verygoodsecurity.vgscollect.core.model.state.FieldState
import com.verygoodsecurity.vgscollect.core.storage.OnFieldStateChangeListener
import com.verygoodsecurity.vgscollect.view.card.BrandParams
import com.verygoodsecurity.vgscollect.view.card.CardBrand
import com.verygoodsecurity.vgscollect.view.card.CardType
import com.verygoodsecurity.vgscollect.view.card.ChecksumAlgorithm
import com.verygoodsecurity.vgscollect.view.card.CustomCardBrand
import com.verygoodsecurity.vgscollect.view.card.formatter.CardMaskAdapter
import com.verygoodsecurity.vgscollect.view.card.icon.CardIconAdapter
import com.verygoodsecurity.vgscollect.view.card.validation.payment.PersonNameRule
import com.verygoodsecurity.vgscollect.view.card.validation.payment.ChecksumAlgorithm
import com.verygoodsecurity.vgscollect.view.card.validation.rules.PaymentCardNumberRule
import com.verygoodsecurity.vgscollect.view.card.validation.rules.PersonNameRule
import kotlinx.android.synthetic.main.activity_collect_demo.*

class VGSCollectActivity: AppCompatActivity(), VgsCollectResponseListener, View.OnClickListener {
Expand Down Expand Up @@ -115,8 +116,55 @@ class VGSCollectActivity: AppCompatActivity(), VgsCollectResponseListener, View.
})
}

private fun setupDefaultBehaviour() {
val rule : PaymentCardNumberRule = PaymentCardNumberRule.ValidationBuilder()
// .setAlgorithm(ChecksumAlgorithm.NONE)

.setAllowableNumberLength(arrayOf(15, 13, 19))

.setAllowableMinLength(3)
.setAllowableMaxLength(7)

.build()

cardNumberField.addRule(rule)
}

private fun addCustomBrands() {
val params = BrandParams(
"### ### ### ###",
ChecksumAlgorithm.LUHN,
arrayOf(4, 10, 12),
arrayOf(3, 5)
)
val newBrand = CardBrand(
"^777",
"NEW BRAND",
R.drawable.ic_cards,
params
)
cardNumberField.addCardBrand(newBrand)


val params2 = BrandParams(
"### ### ### ###### ###",
ChecksumAlgorithm.LUHN,
arrayOf(18),
arrayOf(4)
)
val newBrand2 = CardBrand(
"^878",
"VGS Brand",
CardType.MAESTRO.resId,
params2
)

cardNumberField.addCardBrand(newBrand2)
}

private fun setupCardNumberField() {
addCustomBrands()
setupDefaultBehaviour()

vgsForm.bindView(cardNumberField)

Expand All @@ -138,6 +186,13 @@ class VGSCollectActivity: AppCompatActivity(), VgsCollectResponseListener, View.
mask: String
): String {
return when(cardType) {
CardType.UNKNOWN -> {
if (bin == "7771") {
"# # # #"
} else {
mask
}
}
CardType.AMERICAN_EXPRESS -> {
if (bin.contains("371233")) {
"### # ###### ### ##"
Expand All @@ -157,37 +212,6 @@ class VGSCollectActivity: AppCompatActivity(), VgsCollectResponseListener, View.
})
}

private fun addCustomBrands() {
val params = BrandParams(
"### ### ### ###",
ChecksumAlgorithm.LUHN,
arrayOf(4, 10, 12),
arrayOf(3, 5)
)
val newBrand = CustomCardBrand(
"^777",
"NEW BRAND",
R.drawable.ic_cards,
params
)
cardNumberField.addCardBrand(newBrand)


val params2 = BrandParams(
"### ### ### ###",
ChecksumAlgorithm.LUHN,
arrayOf(18),
arrayOf(4)
)
val newBrand2 = CustomCardBrand(
"^878",
"VGS Brand",
CardType.MAESTRO.resId,
params2
)
cardNumberField.addCardBrand(newBrand2)
}

private fun retrieveSettings() {
val bndl = intent?.extras

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/layout/activity_collect_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
app:fieldName="card_data.cardNumber"
style="@style/AppTheme.PaymentField"
app:numberDivider="-"
app:validationRule="acceptUnknown"
app:fontFamily="@font/robotomono_light"
android:nextFocusDown="@+id/cardHolderField"
app:imeOptions="actionNext"
Expand All @@ -147,7 +148,6 @@

</FrameLayout>


<FrameLayout
android:id="@+id/contHoldNum"
android:layout_width="match_parent"
Expand Down
15 changes: 9 additions & 6 deletions docs/allclasses-frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_242-release) on Tue Jun 30 18:15:00 EEST 2020 -->
<!-- Generated by javadoc (1.8.0_242-release) on Fri Jul 03 17:39:15 EEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes</title>
<meta name="date" content="2020-06-30">
<meta name="date" content="2020-07-03">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand All @@ -17,15 +17,16 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="com/verygoodsecurity/vgscollect/app/BaseTransmitActivity.Companion.html" title="class in com.verygoodsecurity.vgscollect.app" target="classFrame">BaseTransmitActivity.Companion</a></li>
<li><a href="com/verygoodsecurity/vgscollect/util/BooleanExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util" target="classFrame">BooleanExtensionKt</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/BrandParams.html" title="class in com.verygoodsecurity.vgscollect.view.card" target="classFrame">BrandParams</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/CardBrand.html" title="class in com.verygoodsecurity.vgscollect.view.card" target="classFrame">CardBrand</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/icon/CardIconAdapter.html" title="class in com.verygoodsecurity.vgscollect.view.card.icon" target="classFrame">CardIconAdapter</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/formatter/CardMaskAdapter.html" title="class in com.verygoodsecurity.vgscollect.view.card.formatter" target="classFrame">CardMaskAdapter</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/formatter/CardNumberFormatter.html" title="class in com.verygoodsecurity.vgscollect.view.card.formatter" target="classFrame">CardNumberFormatter</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/formatter/CardNumberFormatter.Companion.html" title="class in com.verygoodsecurity.vgscollect.view.card.formatter" target="classFrame">CardNumberFormatter.Companion</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/CardType.html" title="enum in com.verygoodsecurity.vgscollect.view.card" target="classFrame">CardType</a></li>
<li><a href="com/verygoodsecurity/vgscollect/widget/CardVerificationCodeEditText.html" title="class in com.verygoodsecurity.vgscollect.widget" target="classFrame">CardVerificationCodeEditText</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/ChecksumAlgorithm.html" title="enum in com.verygoodsecurity.vgscollect.view.card" target="classFrame">ChecksumAlgorithm</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/payment/ChecksumAlgorithm.html" title="enum in com.verygoodsecurity.vgscollect.view.card.validation.payment" target="classFrame">ChecksumAlgorithm</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/CheckSumValidator.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation" target="classFrame">CheckSumValidator</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/CompositeValidator.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation" target="classFrame">CompositeValidator</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/CustomCardBrand.html" title="class in com.verygoodsecurity.vgscollect.view.card" target="classFrame">CustomCardBrand</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/date/DatePickerMode.html" title="enum in com.verygoodsecurity.vgscollect.view.date" target="classFrame">DatePickerMode</a></li>
<li><a href="com/verygoodsecurity/vgscollect/core/Environment.html" title="enum in com.verygoodsecurity.vgscollect.core" target="classFrame">Environment</a></li>
<li><a href="com/verygoodsecurity/vgscollect/widget/ExpirationDateEditText.html" title="class in com.verygoodsecurity.vgscollect.widget" target="classFrame">ExpirationDateEditText</a></li>
Expand All @@ -49,9 +50,11 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="com/verygoodsecurity/vgscollect/util/MutableMapExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util" target="classFrame">MutableMapExtensionKt</a></li>
<li><a href="com/verygoodsecurity/vgscollect/util/NumberExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util" target="classFrame">NumberExtensionKt</a></li>
<li><a href="com/verygoodsecurity/vgscollect/core/storage/OnFieldStateChangeListener.html" title="interface in com.verygoodsecurity.vgscollect.core.storage" target="classFrame"><span class="interfaceName">OnFieldStateChangeListener</span></a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PaymentCardNumberRule.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules" target="classFrame">PaymentCardNumberRule</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PaymentCardNumberRule.ValidationBuilder.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules" target="classFrame">PaymentCardNumberRule.ValidationBuilder</a></li>
<li><a href="com/verygoodsecurity/vgscollect/widget/PersonNameEditText.html" title="class in com.verygoodsecurity.vgscollect.widget" target="classFrame">PersonNameEditText</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/payment/PersonNameRule.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.payment" target="classFrame">PersonNameRule</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/payment/PersonNameRule.ValidationBuilder.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.payment" target="classFrame">PersonNameRule.ValidationBuilder</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PersonNameRule.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules" target="classFrame">PersonNameRule</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PersonNameRule.ValidationBuilder.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules" target="classFrame">PersonNameRule.ValidationBuilder</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/SavedState.Companion.html" title="class in com.verygoodsecurity.vgscollect.view" target="classFrame">SavedState.Companion</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/material/TextInputFieldLayout.html" title="class in com.verygoodsecurity.vgscollect.view.material" target="classFrame">TextInputFieldLayout</a></li>
<li><a href="com/verygoodsecurity/vgscollect/util/UriExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util" target="classFrame">UriExtensionKt</a></li>
Expand Down
15 changes: 9 additions & 6 deletions docs/allclasses-noframe.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_242-release) on Tue Jun 30 18:15:00 EEST 2020 -->
<!-- Generated by javadoc (1.8.0_242-release) on Fri Jul 03 17:39:15 EEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes</title>
<meta name="date" content="2020-06-30">
<meta name="date" content="2020-07-03">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand All @@ -17,15 +17,16 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="com/verygoodsecurity/vgscollect/app/BaseTransmitActivity.Companion.html" title="class in com.verygoodsecurity.vgscollect.app">BaseTransmitActivity.Companion</a></li>
<li><a href="com/verygoodsecurity/vgscollect/util/BooleanExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util">BooleanExtensionKt</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/BrandParams.html" title="class in com.verygoodsecurity.vgscollect.view.card">BrandParams</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/CardBrand.html" title="class in com.verygoodsecurity.vgscollect.view.card">CardBrand</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/icon/CardIconAdapter.html" title="class in com.verygoodsecurity.vgscollect.view.card.icon">CardIconAdapter</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/formatter/CardMaskAdapter.html" title="class in com.verygoodsecurity.vgscollect.view.card.formatter">CardMaskAdapter</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/formatter/CardNumberFormatter.html" title="class in com.verygoodsecurity.vgscollect.view.card.formatter">CardNumberFormatter</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/formatter/CardNumberFormatter.Companion.html" title="class in com.verygoodsecurity.vgscollect.view.card.formatter">CardNumberFormatter.Companion</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/CardType.html" title="enum in com.verygoodsecurity.vgscollect.view.card">CardType</a></li>
<li><a href="com/verygoodsecurity/vgscollect/widget/CardVerificationCodeEditText.html" title="class in com.verygoodsecurity.vgscollect.widget">CardVerificationCodeEditText</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/ChecksumAlgorithm.html" title="enum in com.verygoodsecurity.vgscollect.view.card">ChecksumAlgorithm</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/payment/ChecksumAlgorithm.html" title="enum in com.verygoodsecurity.vgscollect.view.card.validation.payment">ChecksumAlgorithm</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/CheckSumValidator.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation">CheckSumValidator</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/CompositeValidator.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation">CompositeValidator</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/CustomCardBrand.html" title="class in com.verygoodsecurity.vgscollect.view.card">CustomCardBrand</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/date/DatePickerMode.html" title="enum in com.verygoodsecurity.vgscollect.view.date">DatePickerMode</a></li>
<li><a href="com/verygoodsecurity/vgscollect/core/Environment.html" title="enum in com.verygoodsecurity.vgscollect.core">Environment</a></li>
<li><a href="com/verygoodsecurity/vgscollect/widget/ExpirationDateEditText.html" title="class in com.verygoodsecurity.vgscollect.widget">ExpirationDateEditText</a></li>
Expand All @@ -49,9 +50,11 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="com/verygoodsecurity/vgscollect/util/MutableMapExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util">MutableMapExtensionKt</a></li>
<li><a href="com/verygoodsecurity/vgscollect/util/NumberExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util">NumberExtensionKt</a></li>
<li><a href="com/verygoodsecurity/vgscollect/core/storage/OnFieldStateChangeListener.html" title="interface in com.verygoodsecurity.vgscollect.core.storage"><span class="interfaceName">OnFieldStateChangeListener</span></a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PaymentCardNumberRule.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules">PaymentCardNumberRule</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PaymentCardNumberRule.ValidationBuilder.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules">PaymentCardNumberRule.ValidationBuilder</a></li>
<li><a href="com/verygoodsecurity/vgscollect/widget/PersonNameEditText.html" title="class in com.verygoodsecurity.vgscollect.widget">PersonNameEditText</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/payment/PersonNameRule.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.payment">PersonNameRule</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/payment/PersonNameRule.ValidationBuilder.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.payment">PersonNameRule.ValidationBuilder</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PersonNameRule.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules">PersonNameRule</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/card/validation/rules/PersonNameRule.ValidationBuilder.html" title="class in com.verygoodsecurity.vgscollect.view.card.validation.rules">PersonNameRule.ValidationBuilder</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/SavedState.Companion.html" title="class in com.verygoodsecurity.vgscollect.view">SavedState.Companion</a></li>
<li><a href="com/verygoodsecurity/vgscollect/view/material/TextInputFieldLayout.html" title="class in com.verygoodsecurity.vgscollect.view.material">TextInputFieldLayout</a></li>
<li><a href="com/verygoodsecurity/vgscollect/util/UriExtensionKt.html" title="class in com.verygoodsecurity.vgscollect.util">UriExtensionKt</a></li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_242-release) on Tue Jun 30 18:15:00 EEST 2020 -->
<!-- Generated by javadoc (1.8.0_242-release) on Fri Jul 03 17:39:13 EEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BaseTransmitActivity.Companion</title>
<meta name="date" content="2020-06-30">
<meta name="date" content="2020-07-03">
<meta name="keywords" content="com.verygoodsecurity.vgscollect.app.BaseTransmitActivity.Companion class">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_242-release) on Tue Jun 30 18:15:00 EEST 2020 -->
<!-- Generated by javadoc (1.8.0_242-release) on Fri Jul 03 17:39:13 EEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BaseTransmitActivity</title>
<meta name="date" content="2020-06-30">
<meta name="date" content="2020-07-03">
<meta name="keywords" content="com.verygoodsecurity.vgscollect.app.BaseTransmitActivity class">
<meta name="keywords" content="RESULT_DATA">
<meta name="keywords" content="Companion">
Expand Down
4 changes: 2 additions & 2 deletions docs/com/verygoodsecurity/vgscollect/app/package-frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_242-release) on Tue Jun 30 18:15:00 EEST 2020 -->
<!-- Generated by javadoc (1.8.0_242-release) on Fri Jul 03 17:39:14 EEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>com.verygoodsecurity.vgscollect.app</title>
<meta name="date" content="2020-06-30">
<meta name="date" content="2020-07-03">
<meta name="keywords" content="com.verygoodsecurity.vgscollect.app package">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
Expand Down
Loading

0 comments on commit c296f9f

Please sign in to comment.