Skip to content

Commit

Permalink
Public release v1.6.11 (#208)
Browse files Browse the repository at this point in the history
* update Bouncer SDK (#132)

* Release scan lib v1.0.3 (#135)

* Firebase Test Lab Integration (#84)

* Update HTTPMethod.kt (#133)

* Fix custom fonts (#136)

* Implement ability to add collect data in collections (#138)

* Add FlatMap implementation

* Add deepMerge logic implementation

* Refactor

* Add map tests

* Add array list tests

* Update VGSRequest.kt, add VGSCollectFieldNameMappingPolicy.kt, update tests, improve deep merge logic

* Fix tests

* Implement new logic

* Fix tests

* Improve array deepMerge logic

* Update comments

* Update comments

* Add analytics

* Update visibility modifier

* Update release script (Maven) (#140)

* Update cardio distribution flow (switch to maven)

* Revert "Update cardio distribution flow (switch to maven)"

This reverts commit e94700e

* Revert "Update cardio distribution flow (switch to maven)"

Update release script, add possibility to release on maven

* Create MIGRATING.md (#139)

* Add request/response humanized logs (#146)

* Add humanized request/response logs

* Fix OkHttpClient.kt error handling

* Refactor: remove redundant functions, change package

* Version name & code rise (#148)

* Add error logs for failed requests (#149)

* Fix error response message & body

* Fix visibility modifier

* Merge release v1.6.3 into dev (#151)

* Version name & code rise

* Update docs

* Add ability to bind/unbind views as arrays (#152)

* Add ability to bind/unbind arrays of views

* Update comments

* Functionality to send expiration date components separately (#153)

* Implement ExpirationDateEditText.kt

* Fix tests

* Update comment/locale, add tests

* Revert locale change

* Update locale to US

* Add setSerializer function

* Update VGSExpDateSeparateSerializer.kt

* Update tests

* Update dependencies (#156)

* Update bouncer dependencies

* Update other dependencies

* Update gradle version

* Merge bouncer release into dev (#155)

* Version name & code rise (#147)

* Release v1.6.3 (#150)

* update Bouncer SDK (#132)

* Release scan lib v1.0.3 (#135)

* Firebase Test Lab Integration (#84)

* Update HTTPMethod.kt (#133)

* Fix custom fonts (#136)

* Implement ability to add collect data in collections (#138)

* Add FlatMap implementation

* Add deepMerge logic implementation

* Refactor

* Add map tests

* Add array list tests

* Update VGSRequest.kt, add VGSCollectFieldNameMappingPolicy.kt, update tests, improve deep merge logic

* Fix tests

* Implement new logic

* Fix tests

* Improve array deepMerge logic

* Update comments

* Update comments

* Add analytics

* Update visibility modifier

* Update release script (Maven) (#140)

* Update cardio distribution flow (switch to maven)

* Revert "Update cardio distribution flow (switch to maven)"

This reverts commit e94700e

* Revert "Update cardio distribution flow (switch to maven)"

Update release script, add possibility to release on maven

* Create MIGRATING.md (#139)

* Add request/response humanized logs (#146)

* Add humanized request/response logs

* Fix OkHttpClient.kt error handling

* Refactor: remove redundant functions, change package

* Version name & code rise (#148)

* Add error logs for failed requests (#149)

* Fix error response message & body

* Fix visibility modifier

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Update bouncer dependencies

* Version name & code rise

* Update other dependencies

* Update gradle version

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* update kotlin version (#157)

* VGS Collect SDK release v1.6.4 merge into dev (#159)

* Version name & code rise (#147)

* Release v1.6.3 (#150)

* update Bouncer SDK (#132)

* Release scan lib v1.0.3 (#135)

* Firebase Test Lab Integration (#84)

* Update HTTPMethod.kt (#133)

* Fix custom fonts (#136)

* Implement ability to add collect data in collections (#138)

* Add FlatMap implementation

* Add deepMerge logic implementation

* Refactor

* Add map tests

* Add array list tests

* Update VGSRequest.kt, add VGSCollectFieldNameMappingPolicy.kt, update tests, improve deep merge logic

* Fix tests

* Implement new logic

* Fix tests

* Improve array deepMerge logic

* Update comments

* Update comments

* Add analytics

* Update visibility modifier

* Update release script (Maven) (#140)

* Update cardio distribution flow (switch to maven)

* Revert "Update cardio distribution flow (switch to maven)"

This reverts commit e94700e

* Revert "Update cardio distribution flow (switch to maven)"

Update release script, add possibility to release on maven

* Create MIGRATING.md (#139)

* Add request/response humanized logs (#146)

* Add humanized request/response logs

* Fix OkHttpClient.kt error handling

* Refactor: remove redundant functions, change package

* Version name & code rise (#148)

* Add error logs for failed requests (#149)

* Fix error response message & body

* Fix visibility modifier

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Release/release bouncer v1.0.4 (#154)

* Update bouncer dependencies

* Version name & code rise

* Update other dependencies

* Update gradle version

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Fix box stroke colo state list (#160)

* Limit valid card brands in SDK (#161)

* Implement valid card brands

* Remove test code

* Add tests

* Added ability to set validation rules for VGSEditText (#162)

* Fix issue with overriding default validation rules (#163)

* Fix allowToOverrideDefaultValidation

* Refactor

* Create default styles for VGSCollect views. (#164)

* Add default styles

* Refactoring

* Refactoring

* Fix

* remove bintray code from repo (#167)

* Implement ability to compare fields content (#170)

* Implement ability to compare fields content

* Code format fix

* Fix ability to override card mask (#172)

* Fix attach file cache (#177)

* Fix analytics events (#178)

* Remove unused value

* Fix autofill field attribute value

* Fix BeforeSubmit event

* Add ability to set request timeout (#179)

* Add ability to set request timeout

* Fix tests

* Update dependencies (#180)

* Update dependencies & release process (#182)

* Update dependecies, remove 'kotlin-android-extensions' from card-io and bouncer

* Updat release plugin & properties

* Revert

* Revert test code

* Fix OutOfMemory exception (#181)

* Fix out of memory exception when attach files

* Remove redundant LruCache

* Make reading file bytes depends on max size specified by developer

* Remove logs

* Fix tests, revert prev logic of adding files

* Update error message

* Update error message

* Fix max Length in VGSEditText (#186)

* Fix keyboard doesn't appear after reopen app (#192)

* add FLAT_JSON mapping policy (#194)

* Implement ability to set tag for logs produced by VGSCollectLogger  (#195)

* Implement custom logs tag

* Constant rename

* Add textCapCharacters for VGSEditText in Android SDK (#198)

* Improve Background handling in EditText (#199)

* Add ability to show/hide keyboard from vgs views (#201)

* Add ability to show/hide keyboard from custom view

* Add comments

* Public release v1.6.9 (#196) (#202)

* update Bouncer SDK (#132)

* Release scan lib v1.0.3 (#135)

* Firebase Test Lab Integration (#84)

* Update HTTPMethod.kt (#133)

* Fix custom fonts (#136)

* Implement ability to add collect data in collections (#138)

* Add FlatMap implementation

* Add deepMerge logic implementation

* Refactor

* Add map tests

* Add array list tests

* Update VGSRequest.kt, add VGSCollectFieldNameMappingPolicy.kt, update tests, improve deep merge logic

* Fix tests

* Implement new logic

* Fix tests

* Improve array deepMerge logic

* Update comments

* Update comments

* Add analytics

* Update visibility modifier

* Update release script (Maven) (#140)

* Update cardio distribution flow (switch to maven)

* Revert "Update cardio distribution flow (switch to maven)"

This reverts commit e94700e

* Revert "Update cardio distribution flow (switch to maven)"

Update release script, add possibility to release on maven

* Create MIGRATING.md (#139)

* Add request/response humanized logs (#146)

* Add humanized request/response logs

* Fix OkHttpClient.kt error handling

* Refactor: remove redundant functions, change package

* Version name & code rise (#148)

* Add error logs for failed requests (#149)

* Fix error response message & body

* Fix visibility modifier

* Merge release v1.6.3 into dev (#151)

* Version name & code rise

* Update docs

* Add ability to bind/unbind views as arrays (#152)

* Add ability to bind/unbind arrays of views

* Update comments

* Functionality to send expiration date components separately (#153)

* Implement ExpirationDateEditText.kt

* Fix tests

* Update comment/locale, add tests

* Revert locale change

* Update locale to US

* Add setSerializer function

* Update VGSExpDateSeparateSerializer.kt

* Update tests

* Update dependencies (#156)

* Update bouncer dependencies

* Update other dependencies

* Update gradle version

* Merge bouncer release into dev (#155)

* Version name & code rise (#147)

* Release v1.6.3 (#150)

* update Bouncer SDK (#132)

* Release scan lib v1.0.3 (#135)

* Firebase Test Lab Integration (#84)

* Update HTTPMethod.kt (#133)

* Fix custom fonts (#136)

* Implement ability to add collect data in collections (#138)

* Add FlatMap implementation

* Add deepMerge logic implementation

* Refactor

* Add map tests

* Add array list tests

* Update VGSRequest.kt, add VGSCollectFieldNameMappingPolicy.kt, update tests, improve deep merge logic

* Fix tests

* Implement new logic

* Fix tests

* Improve array deepMerge logic

* Update comments

* Update comments

* Add analytics

* Update visibility modifier

* Update release script (Maven) (#140)

* Update cardio distribution flow (switch to maven)

* Revert "Update cardio distribution flow (switch to maven)"

This reverts commit e94700e

* Revert "Update cardio distribution flow (switch to maven)"

Update release script, add possibility to release on maven

* Create MIGRATING.md (#139)

* Add request/response humanized logs (#146)

* Add humanized request/response logs

* Fix OkHttpClient.kt error handling

* Refactor: remove redundant functions, change package

* Version name & code rise (#148)

* Add error logs for failed requests (#149)

* Fix error response message & body

* Fix visibility modifier

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Update bouncer dependencies

* Version name & code rise

* Update other dependencies

* Update gradle version

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* update kotlin version (#157)

* VGS Collect SDK release v1.6.4 merge into dev (#159)

* Version name & code rise (#147)

* Release v1.6.3 (#150)

* update Bouncer SDK (#132)

* Release scan lib v1.0.3 (#135)

* Firebase Test Lab Integration (#84)

* Update HTTPMethod.kt (#133)

* Fix custom fonts (#136)

* Implement ability to add collect data in collections (#138)

* Add FlatMap implementation

* Add deepMerge logic implementation

* Refactor

* Add map tests

* Add array list tests

* Update VGSRequest.kt, add VGSCollectFieldNameMappingPolicy.kt, update tests, improve deep merge logic

* Fix tests

* Implement new logic

* Fix tests

* Improve array deepMerge logic

* Update comments

* Update comments

* Add analytics

* Update visibility modifier

* Update release script (Maven) (#140)

* Update cardio distribution flow (switch to maven)

* Revert "Update cardio distribution flow (switch to maven)"

This reverts commit e94700e

* Revert "Update cardio distribution flow (switch to maven)"

Update release script, add possibility to release on maven

* Create MIGRATING.md (#139)

* Add request/response humanized logs (#146)

* Add humanized request/response logs

* Fix OkHttpClient.kt error handling

* Refactor: remove redundant functions, change package

* Version name & code rise (#148)

* Add error logs for failed requests (#149)

* Fix error response message & body

* Fix visibility modifier

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Release/release bouncer v1.0.4 (#154)

* Update bouncer dependencies

* Version name & code rise

* Update other dependencies

* Update gradle version

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Fix box stroke colo state list (#160)

* Limit valid card brands in SDK (#161)

* Implement valid card brands

* Remove test code

* Add tests

* Added ability to set validation rules for VGSEditText (#162)

* Fix issue with overriding default validation rules (#163)

* Fix allowToOverrideDefaultValidation

* Refactor

* Create default styles for VGSCollect views. (#164)

* Add default styles

* Refactoring

* Refactoring

* Fix

* remove bintray code from repo (#167)

* Implement ability to compare fields content (#170)

* Implement ability to compare fields content

* Code format fix

* Fix ability to override card mask (#172)

* Fix attach file cache (#177)

* Fix analytics events (#178)

* Remove unused value

* Fix autofill field attribute value

* Fix BeforeSubmit event

* Add ability to set request timeout (#179)

* Add ability to set request timeout

* Fix tests

* Update dependencies (#180)

* Update dependencies & release process (#182)

* Update dependecies, remove 'kotlin-android-extensions' from card-io and bouncer

* Updat release plugin & properties

* Revert

* Revert test code

* Fix OutOfMemory exception (#181)

* Fix out of memory exception when attach files

* Remove redundant LruCache

* Make reading file bytes depends on max size specified by developer

* Remove logs

* Fix tests, revert prev logic of adding files

* Update error message

* Update error message

* Fix max Length in VGSEditText (#186)

* Fix keyboard doesn't appear after reopen app (#192)

* add FLAT_JSON mapping policy (#194)

* Implement ability to set tag for logs produced by VGSCollectLogger  (#195)

* Implement custom logs tag

* Constant rename

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>

* Improve custom card brand handling (#204)

* fix issue

* add Instrumented Activity

* add Instrumented tests

* test instumented test

* update unitTests

* set timeout

* update tests

* add action

* add matcher

* remove redundant code

* make test failed

* update tests

* format code

* set timeout

* set timeout

* uncomment code

* Dependencies update (#205)

* Version name & code rise

* Update docs

Co-authored-by: Dmytro Kos <dmitriy.kosolapenko@vgs.io>
  • Loading branch information
DmytroDm and Dmytro Kos authored Jul 27, 2021
1 parent e081e68 commit b45097b
Show file tree
Hide file tree
Showing 139 changed files with 1,599 additions and 222 deletions.
28 changes: 13 additions & 15 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ apply plugin: 'com.google.gms.google-services'

android {
compileSdkVersion 30
buildToolsVersion "29.0.3"
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.verygoodsecurity.demoapp"
minSdkVersion 19
Expand All @@ -15,9 +15,7 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildFeatures {
viewBinding true
}

buildTypes {
release {
buildConfigField("com.verygoodsecurity.vgscollect.core.Environment", "ENVIRINMENT", getEnvironmentRelease())
Expand Down Expand Up @@ -81,27 +79,27 @@ dependencies {
implementation 'com.google.firebase:firebase-analytics-ktx'

implementation "androidx.appcompat:appcompat:$android_support_libraries"
implementation 'androidx.core:core-ktx:1.5.0'
implementation "androidx.core:core-ktx:$androidx_core_ktx_version"
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation "com.google.android.material:material:1.3.0"
implementation "com.google.android.material:material:$android_material_version"

implementation 'com.google.android.gms:play-services-auth:19.0.0'

implementation 'androidx.multidex:multidex:2.0.1'

debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'

testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation 'androidx.test:core-ktx:1.3.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.2'
testImplementation "junit:junit:$junit_version"
androidTestImplementation "androidx.test:rules:$androidx_test_rules_version"
androidTestImplementation "androidx.test.ext:junit:$androidx_test_junit_version"
androidTestImplementation "androidx.test:runner:$androidx_test_runner_version"
androidTestImplementation "androidx.test:rules:$androidx_test_rules_version"
androidTestImplementation 'androidx.test:core-ktx:1.4.0'
androidTestImplementation "androidx.test.ext:junit-ktx:$androidx_test_junit_version"
androidTestImplementation 'org.hamcrest:hamcrest-integration:1.3'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "androidx.test.espresso:espresso-intents:3.4.0"
androidTestImplementation "androidx.test.espresso:espresso-core:$androidx_test_espresso_espresso_core_version"
androidTestImplementation('com.android.support.test.espresso:espresso-contrib:3.0.2') {
exclude group: 'com.android.support', module: 'appcompat'
exclude module: 'support-annotations'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.verygoodsecurity.demoapp.actions

import android.view.View
import androidx.test.espresso.UiController
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.remote.annotation.RemoteMsgField
import com.verygoodsecurity.vgscollect.view.InputFieldView
import com.verygoodsecurity.vgscollect.widget.VGSCardNumberEditText
import org.hamcrest.Matcher
import java.util.*

class SetCardNumberDividerAction(
@RemoteMsgField(order = 0)
val divider: Char? = null
) : BaseAction() {

override fun getDescription(): String = String.format(Locale.ROOT, "Sets the divider(%s) for input field", divider)

override fun getConstraints(): Matcher<View> =
ViewMatchers.isAssignableFrom(InputFieldView::class.java)

override fun perform(uiController: UiController?, view: View?) {
uiController?.runAction {
val inputField = view as VGSCardNumberEditText
inputField.setDivider(divider)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.verygoodsecurity.demoapp.actions

import android.view.View
import androidx.test.espresso.UiController
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.remote.annotation.RemoteMsgField
import com.verygoodsecurity.vgscollect.view.InputFieldView
import com.verygoodsecurity.vgscollect.view.card.CardBrand
import com.verygoodsecurity.vgscollect.widget.VGSCardNumberEditText
import org.hamcrest.Matcher
import java.util.*

class SetCustomBrandAction(
@RemoteMsgField(order = 0)
val brand: CardBrand? = null
) : BaseAction() {

override fun getDescription(): String =
String.format(Locale.ROOT, "Sets the brand(%s) for input field", brand)

override fun getConstraints(): Matcher<View> =
ViewMatchers.isAssignableFrom(InputFieldView::class.java)

override fun perform(uiController: UiController?, view: View?) {
uiController?.runAction {
brand?.apply {
(view as VGSCardNumberEditText).addCardBrand(brand)
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package com.verygoodsecurity.demoapp.matchers

fun withCardBrand(brandName: String): WithCardBrandMatcher {
return WithCardBrandMatcher(brandName)
}

fun withCardNumberState(
str: String? = null,
bin: String? = null,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.verygoodsecurity.demoapp.matchers

import android.view.View
import androidx.test.espresso.matcher.BoundedMatcher
import androidx.test.espresso.remote.annotation.RemoteMsgConstructor
import com.verygoodsecurity.vgscollect.core.model.state.FieldState
import com.verygoodsecurity.vgscollect.widget.VGSCardNumberEditText
import org.hamcrest.Description

class WithCardBrandMatcher @RemoteMsgConstructor internal constructor(
var brand: String?
) : BoundedMatcher<View?, VGSCardNumberEditText>(VGSCardNumberEditText::class.java) {

override fun describeTo(description: Description) {
description.appendText("with card number input field state: ")
}

override fun matchesSafely(textView: VGSCardNumberEditText): Boolean {
val state = textView.getState()

return if (!brand.isNullOrEmpty()) {
checkWithFullNumber(state, brand!!)
} else {
false
}
}

private fun checkWithFullNumber(
state: FieldState.CardNumberState?,
brand: String
): Boolean {
return state?.run {
!cardBrand.isNullOrEmpty() && brand.startsWith(cardBrand!!)
} ?: false
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.verygoodsecurity.demoapp.matchers

import android.view.View
import androidx.test.espresso.matcher.BoundedMatcher
import androidx.test.espresso.remote.annotation.RemoteMsgConstructor
import com.verygoodsecurity.vgscollect.widget.VGSCardNumberEditText
import org.hamcrest.Description

class WithCardNumberDividerMatcher @RemoteMsgConstructor internal constructor(
var divider: Char
) : BoundedMatcher<View?, VGSCardNumberEditText>(VGSCardNumberEditText::class.java) {

override fun describeTo(description: Description) {
description.appendText("VGSEditText input field: ")
}

override fun matchesSafely(textView: VGSCardNumberEditText): Boolean {
val state = textView.getState()
return state?.run {
divider == textView.getDivider()
}?:false
}
}
Loading

0 comments on commit b45097b

Please sign in to comment.