From 2c0cca93f6767da20d700b27e7bd95262ffd53bd Mon Sep 17 00:00:00 2001 From: azakrevska-epam Date: Mon, 27 May 2019 18:18:48 +0300 Subject: [PATCH 01/11] HW-53053. Split ui modules --- common/.gitignore | 1 + common/build.gradle | 124 ++++++++++++++++++ common/proguard-rules.pro | 21 +++ common/src/main/AndroidManifest.xml | 2 + .../common}/util/EspressoIdlingResource.java | 2 +- .../error/DefaultErrorDialogFragment.java | 6 +- .../DefaultErrorDialogFragmentContract.java | 2 +- .../DefaultErrorDialogFragmentPresenter.java | 2 +- .../view/error/OnNetworkErrorCallback.java | 6 +- common/src/main/res/values/colors.xml | 27 ++++ common/src/main/res/values/strings.xml | 9 ++ common/src/main/res/values/styles.xml | 50 +++++++ ...faultErrorDialogFragmentPresenterTest.java | 10 +- receipt/.gitignore | 1 + receipt/build.gradle | 116 ++++++++++++++++ receipt/proguard-rules.pro | 21 +++ receipt/src/main/AndroidManifest.xml | 2 + receipt/src/main/res/values/strings.xml | 3 + settings.gradle | 2 +- ui/build.gradle | 4 +- .../ui/AddTransferMethodTest.java | 6 +- .../transfermethod/ui/BankAccountTest.java | 2 +- .../transfermethod/ui/BankCardTest.java | 2 +- .../android/transfermethod/ui/PayPalTest.java | 13 +- .../ui/SelectTransferMethodTest.java | 2 +- ...sferMethodConfigurationRepositoryImpl.java | 2 +- .../AddTransferMethodActivity.java | 4 +- .../ListTransferMethodActivity.java | 4 +- .../SelectTransferMethodActivity.java | 4 +- ui/src/main/res/values/strings.xml | 9 +- ui/src/main/res/values/styles.xml | 76 +++++------ 31 files changed, 454 insertions(+), 81 deletions(-) create mode 100644 common/.gitignore create mode 100644 common/build.gradle create mode 100644 common/proguard-rules.pro create mode 100644 common/src/main/AndroidManifest.xml rename {ui/src/main/java/com/hyperwallet/android/ui => common/src/main/java/com/hyperwallet/android/common}/util/EspressoIdlingResource.java (93%) rename {ui/src/main/java/com/hyperwallet/android/ui => common/src/main/java/com/hyperwallet/android/common}/view/error/DefaultErrorDialogFragment.java (97%) rename {ui/src/main/java/com/hyperwallet/android/ui => common/src/main/java/com/hyperwallet/android/common}/view/error/DefaultErrorDialogFragmentContract.java (97%) rename {ui/src/main/java/com/hyperwallet/android/ui => common/src/main/java/com/hyperwallet/android/common}/view/error/DefaultErrorDialogFragmentPresenter.java (98%) rename {ui/src/main/java/com/hyperwallet/android/ui => common/src/main/java/com/hyperwallet/android/common}/view/error/OnNetworkErrorCallback.java (79%) create mode 100644 common/src/main/res/values/colors.xml create mode 100644 common/src/main/res/values/strings.xml create mode 100644 common/src/main/res/values/styles.xml rename {ui/src/test/java/com/hyperwallet/android/ui => common/src/test/java/com/hyperwallet/android/common}/view/error/DefaultErrorDialogFragmentPresenterTest.java (92%) create mode 100644 receipt/.gitignore create mode 100644 receipt/build.gradle create mode 100644 receipt/proguard-rules.pro create mode 100644 receipt/src/main/AndroidManifest.xml create mode 100644 receipt/src/main/res/values/strings.xml diff --git a/common/.gitignore b/common/.gitignore new file mode 100644 index 000000000..796b96d1c --- /dev/null +++ b/common/.gitignore @@ -0,0 +1 @@ +/build diff --git a/common/build.gradle b/common/build.gradle new file mode 100644 index 000000000..d6e471db7 --- /dev/null +++ b/common/build.gradle @@ -0,0 +1,124 @@ +apply plugin: 'com.android.library' +apply plugin: 'maven-publish' + +android { + compileSdkVersion 28 + + + defaultConfig { + minSdkVersion 21 + targetSdkVersion 28 + versionCode 1 + versionName version + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + debug { + testCoverageEnabled true + } + } + +} + +dependencies { + implementation "com.google.android.material:material:1.0.0" + implementation "androidx.test.espresso:espresso-idling-resource:3.1.1" + + implementation "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" + + androidTestImplementation "androidx.test.ext:junit:1.1.0" + androidTestImplementation "androidx.test:runner:1.1.1" + androidTestImplementation "androidx.test.espresso:espresso-core:3.1.1" + + testImplementation group: 'org.mockito', name: 'mockito-core', version: "2.25.0" + testImplementation group: 'pl.pragmatists', name: 'JUnitParams', version: "1.1.1" +} + +task javadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + failOnError false +} + +task javadocsJar(type: Jar, dependsOn: javadocs) { + classifier = 'javadoc' + from javadocs.destinationDir +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.srcDirs +} + +def aarFile = file("$buildDir/outputs/aar/ui-$version" + ".aar") +def aarArtifact = artifacts.add('archives', aarFile) { + type 'aar' +} + +def isReleaseVersion = !version.endsWith('SNAPSHOT') + +publishing { + + repositories { + maven { + def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2" + def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots" + url = isReleaseVersion ? releasesRepoUrl : snapshotsRepoUrl + credentials { + username sonatypeUsername + password sonatypePassword + } + } + } + + publications { + hyperwalletUi(MavenPublication) { + groupId = 'com.hyperwallet.android' + artifactId = 'common' + version = version + + artifact(sourcesJar) + artifact(javadocsJar) + artifact(aarArtifact) + + pom { + name = 'Hyperwallet Android UI SDK (common)' + description = 'Hyperwallet UI SDK for Android to integrate with Hyperwallet Platform' + url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' + pom.withXml { + def dependenciesNode = asNode().appendNode('dependencies') + configurations.implementation.allDependencies.each { + def dependencyNode = dependenciesNode.appendNode('dependency') + dependencyNode.appendNode('groupId', it.group) + dependencyNode.appendNode('artifactId', it.name) + dependencyNode.appendNode('version', it.version) + } + } + licenses { + license { + name = 'MIT License' + url = 'http://www.opensource.org/licenses/MIT' + } + } + developers { + developer { + id = 'devs' + name = 'Hyperwallet Developers' + } + } + scm { + connection = 'scm:git:git://github.com/hyperwallet/hyperwallet-android-ui-sdk.git' + developerConnection = 'scm:git:git://github.com/hyperwallet/hyperwallet-android-ui-sdk.git' + url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' + } + } + } + } +} \ No newline at end of file diff --git a/common/proguard-rules.pro b/common/proguard-rules.pro new file mode 100644 index 000000000..f1b424510 --- /dev/null +++ b/common/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/common/src/main/AndroidManifest.xml b/common/src/main/AndroidManifest.xml new file mode 100644 index 000000000..72af9106f --- /dev/null +++ b/common/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + diff --git a/ui/src/main/java/com/hyperwallet/android/ui/util/EspressoIdlingResource.java b/common/src/main/java/com/hyperwallet/android/common/util/EspressoIdlingResource.java similarity index 93% rename from ui/src/main/java/com/hyperwallet/android/ui/util/EspressoIdlingResource.java rename to common/src/main/java/com/hyperwallet/android/common/util/EspressoIdlingResource.java index 61fbcbf40..92e6cf3a4 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/util/EspressoIdlingResource.java +++ b/common/src/main/java/com/hyperwallet/android/common/util/EspressoIdlingResource.java @@ -1,4 +1,4 @@ -package com.hyperwallet.android.ui.util; +package com.hyperwallet.android.common.util; import androidx.test.espresso.IdlingResource; import androidx.test.espresso.idling.CountingIdlingResource; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragment.java b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java similarity index 97% rename from ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragment.java rename to common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java index 9253875e5..114869de9 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragment.java +++ b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java @@ -14,7 +14,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.hyperwallet.android.ui.view.error; +package com.hyperwallet.android.common.view.error; import static com.hyperwallet.android.ExceptionMapper.EC_AUTHENTICATION_TOKEN_PROVIDER_EXCEPTION; import static com.hyperwallet.android.ExceptionMapper.EC_IO_EXCEPTION; @@ -33,7 +33,7 @@ import androidx.fragment.app.DialogFragment; import androidx.fragment.app.FragmentManager; -import com.hyperwallet.android.hyperwallet_ui.R; +import com.hyperwallet.android.common.R; import com.hyperwallet.android.model.HyperwalletError; import java.util.ArrayList; @@ -73,7 +73,7 @@ public void onCancel(DialogInterface dialog) { /** * Builds Hyperwallet Error Dialogue * - * @param errors List of Errors @see {@link Error} + * @param errors List of Errors @see {@link Error} */ public static DefaultErrorDialogFragment newInstance(@NonNull List errors) { Bundle bundle = new Bundle(); diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentContract.java b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentContract.java similarity index 97% rename from ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentContract.java rename to common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentContract.java index fa7950b6b..6fd3db51c 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentContract.java +++ b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentContract.java @@ -14,7 +14,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.hyperwallet.android.ui.view.error; +package com.hyperwallet.android.common.view.error; import android.content.res.Resources; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentPresenter.java b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentPresenter.java similarity index 98% rename from ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentPresenter.java rename to common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentPresenter.java index 53103fdd5..b9f493359 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentPresenter.java +++ b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentPresenter.java @@ -14,7 +14,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.hyperwallet.android.ui.view.error; +package com.hyperwallet.android.common.view.error; import static com.hyperwallet.android.ExceptionMapper.EC_AUTHENTICATION_TOKEN_PROVIDER_EXCEPTION; import static com.hyperwallet.android.ExceptionMapper.EC_IO_EXCEPTION; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/error/OnNetworkErrorCallback.java b/common/src/main/java/com/hyperwallet/android/common/view/error/OnNetworkErrorCallback.java similarity index 79% rename from ui/src/main/java/com/hyperwallet/android/ui/view/error/OnNetworkErrorCallback.java rename to common/src/main/java/com/hyperwallet/android/common/view/error/OnNetworkErrorCallback.java index c08b2e9bd..a6822c545 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/error/OnNetworkErrorCallback.java +++ b/common/src/main/java/com/hyperwallet/android/common/view/error/OnNetworkErrorCallback.java @@ -1,13 +1,13 @@ -package com.hyperwallet.android.ui.view.error; +package com.hyperwallet.android.common.view.error; import java.util.List; /** * Retry callback @see {@link DefaultErrorDialogFragment#newInstance(List)} - * */ + */ public interface OnNetworkErrorCallback { /** * Gets invoked when Error occurred and its possible to retry operation - * */ + */ void retry(); } diff --git a/common/src/main/res/values/colors.xml b/common/src/main/res/values/colors.xml new file mode 100644 index 000000000..2d8989b26 --- /dev/null +++ b/common/src/main/res/values/colors.xml @@ -0,0 +1,27 @@ + + + + #007F9F + #00AFD0 + #60E1FF + #E1F6FA + + + #666666 + #C4C4C4 + #E0E0E0 + #EFEFF4 + #DBDBDB + #ACACAC + #F7F7F7 + + + #FFFFFF + #000000 + + #DB4437 + + + #E5F7FA + + diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml new file mode 100644 index 000000000..f46ffb1a3 --- /dev/null +++ b/common/src/main/res/values/strings.xml @@ -0,0 +1,9 @@ + + Error + Connectivity Issue + Unexpected Error + Cancel + Close + Try again + + diff --git a/common/src/main/res/values/styles.xml b/common/src/main/res/values/styles.xml new file mode 100644 index 000000000..3ed39557b --- /dev/null +++ b/common/src/main/res/values/styles.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ui/src/test/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentPresenterTest.java b/common/src/test/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentPresenterTest.java similarity index 92% rename from ui/src/test/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentPresenterTest.java rename to common/src/test/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentPresenterTest.java index 05ff4966d..aa3848d07 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/view/error/DefaultErrorDialogFragmentPresenterTest.java +++ b/common/src/test/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragmentPresenterTest.java @@ -1,8 +1,7 @@ -package com.hyperwallet.android.ui.view.error; +package com.hyperwallet.android.common.view.error; +import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -16,11 +15,12 @@ import android.content.res.Resources; -import com.hyperwallet.android.hyperwallet_ui.R; +import com.hyperwallet.android.common.R; import com.hyperwallet.android.model.HyperwalletError; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentMatchers; import java.util.ArrayList; import java.util.Arrays; @@ -65,7 +65,7 @@ public void testBuildDialogMessage_buildDefaultExceptionMessage() { errors.add(new HyperwalletError("My default message", "my error code")); String message = presenter.buildDialogMessage(errors, resources); - verify(resources, never()).getString(anyInt()); + verify(resources, never()).getString(ArgumentMatchers.anyInt()); assertThat(message, is("My default message")); } diff --git a/receipt/.gitignore b/receipt/.gitignore new file mode 100644 index 000000000..796b96d1c --- /dev/null +++ b/receipt/.gitignore @@ -0,0 +1 @@ +/build diff --git a/receipt/build.gradle b/receipt/build.gradle new file mode 100644 index 000000000..2796886af --- /dev/null +++ b/receipt/build.gradle @@ -0,0 +1,116 @@ +apply plugin: 'com.android.library' +apply plugin: 'maven-publish' + +android { + compileSdkVersion 28 + + + defaultConfig { + minSdkVersion 21 + targetSdkVersion 28 + versionCode 1 + versionName version + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + debug { + testCoverageEnabled true + } + } + +} + +dependencies { + + api "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" + api "com.hyperwallet.android:common:1.0.0-beta03-SNAPSHOT" +} + +task javadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + failOnError false +} + +task javadocsJar(type: Jar, dependsOn: javadocs) { + classifier = 'javadoc' + from javadocs.destinationDir +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.srcDirs +} + +def aarFile = file("$buildDir/outputs/aar/ui-$version"+".aar") +def aarArtifact = artifacts.add('archives', aarFile) { + type 'aar' +} + +def isReleaseVersion = !version.endsWith('SNAPSHOT') + +publishing { + + repositories { + maven { + def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2" + def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots" + url = isReleaseVersion ? releasesRepoUrl : snapshotsRepoUrl + credentials { + username sonatypeUsername + password sonatypePassword + } + } + } + + publications { + hyperwalletUi(MavenPublication) { + groupId = 'com.hyperwallet.android' + artifactId = 'receipt' + version = version + + artifact(sourcesJar) + artifact(javadocsJar) + artifact(aarArtifact) + + pom { + name = 'Hyperwallet Android UI SDK (receipt)' + description = 'Hyperwallet UI SDK for Android to integrate with Hyperwallet Platform' + url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' + pom.withXml { + def dependenciesNode = asNode().appendNode('dependencies') + configurations.implementation.allDependencies.each { + def dependencyNode = dependenciesNode.appendNode('dependency') + dependencyNode.appendNode('groupId', it.group) + dependencyNode.appendNode('artifactId', it.name) + dependencyNode.appendNode('version', it.version) + } + } + licenses { + license { + name = 'MIT License' + url = 'http://www.opensource.org/licenses/MIT' + } + } + developers { + developer { + id = 'devs' + name = 'Hyperwallet Developers' + } + } + scm { + connection = 'scm:git:git://github.com/hyperwallet/hyperwallet-android-ui-sdk.git' + developerConnection = 'scm:git:git://github.com/hyperwallet/hyperwallet-android-ui-sdk.git' + url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' + } + } + } + } +} diff --git a/receipt/proguard-rules.pro b/receipt/proguard-rules.pro new file mode 100644 index 000000000..f1b424510 --- /dev/null +++ b/receipt/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/receipt/src/main/AndroidManifest.xml b/receipt/src/main/AndroidManifest.xml new file mode 100644 index 000000000..bf6f4ad0c --- /dev/null +++ b/receipt/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + diff --git a/receipt/src/main/res/values/strings.xml b/receipt/src/main/res/values/strings.xml new file mode 100644 index 000000000..3764f704b --- /dev/null +++ b/receipt/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + receipt + diff --git a/settings.gradle b/settings.gradle index 4f16d512e..905f2e4e9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':ui' +include ':ui', ':common', ':receipt' diff --git a/ui/build.gradle b/ui/build.gradle index 36e57ea3a..36cd891d4 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -45,11 +45,11 @@ dependencies { implementation "androidx.appcompat:appcompat:1.0.2" implementation "com.google.android.material:material:1.0.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3" - implementation "androidx.test.espresso:espresso-idling-resource:3.1.1" implementation "androidx.legacy:legacy-support-v4:1.0.0" implementation "androidx.recyclerview:recyclerview:1.0.0" api "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" + api "com.hyperwallet.android:common:1.0.0-beta03-SNAPSHOT" androidTestImplementation "androidx.test.ext:junit:1.1.0" androidTestImplementation "androidx.test:runner:1.1.1" @@ -116,7 +116,7 @@ publishing { artifact(aarArtifact) pom { - name = 'Hyperwallet Android UI SDK' + name = 'Hyperwallet Android UI SDK (ui)' description = 'Hyperwallet UI SDK for Android to integrate with Hyperwallet Platform' url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' pom.withXml { diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/AddTransferMethodTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/AddTransferMethodTest.java index c4af970ff..c76a8e79f 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/AddTransferMethodTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/AddTransferMethodTest.java @@ -22,7 +22,7 @@ import static java.net.HttpURLConnection.HTTP_BAD_REQUEST; import static java.net.HttpURLConnection.HTTP_OK; -import static com.hyperwallet.android.ui.view.error.DefaultErrorDialogFragment.RESULT_ERROR; +import static com.hyperwallet.android.common.view.error.DefaultErrorDialogFragment.RESULT_ERROR; import static com.hyperwallet.android.util.EspressoUtils.nestedScrollTo; import android.app.Instrumentation; @@ -36,13 +36,13 @@ import androidx.test.rule.ActivityTestRule; import com.hyperwallet.android.Hyperwallet; +import com.hyperwallet.android.common.util.EspressoIdlingResource; +import com.hyperwallet.android.common.view.error.DefaultErrorDialogFragment; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity; -import com.hyperwallet.android.ui.util.EspressoIdlingResource; -import com.hyperwallet.android.ui.view.error.DefaultErrorDialogFragment; import com.hyperwallet.android.util.TestAuthenticationProvider; import org.junit.After; diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java index 9134735a2..ad6fe81d3 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java @@ -46,13 +46,13 @@ import androidx.test.rule.ActivityTestRule; import com.hyperwallet.android.Hyperwallet; +import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletTransferMethod; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity; -import com.hyperwallet.android.ui.util.EspressoIdlingResource; import com.hyperwallet.android.util.RecyclerViewCountAssertion; import com.hyperwallet.android.util.TestAuthenticationProvider; diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java index e2d2c1003..71c638001 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java @@ -41,13 +41,13 @@ import androidx.test.rule.ActivityTestRule; import com.hyperwallet.android.Hyperwallet; +import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletTransferMethod; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity; -import com.hyperwallet.android.ui.util.EspressoIdlingResource; import com.hyperwallet.android.util.TestAuthenticationProvider; import org.junit.After; diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java index 0133e6a90..4df46ee51 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java @@ -43,13 +43,13 @@ import androidx.test.rule.ActivityTestRule; import com.hyperwallet.android.Hyperwallet; +import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletTransferMethod; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity; -import com.hyperwallet.android.ui.util.EspressoIdlingResource; import com.hyperwallet.android.util.TestAuthenticationProvider; import org.junit.After; @@ -115,9 +115,9 @@ public void testAddTransferMethod_displaysElementsOnTmcResponse() { onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.toolbar)))).check( matches(withText(R.string.paypal_account))); - onView(withId(R.id.email)).check(matches(isDisplayed())); - onView(withId(R.id.emailLabel)).check(matches(isDisplayed())); + onView(withId(R.id.emailLabel)).perform(nestedScrollTo()).check(matches(isDisplayed())); onView(withId(R.id.emailLabel)).check(matches(withHint("Email"))); + onView(withId(R.id.email)).perform(nestedScrollTo()).check(matches(isDisplayed())); onView(withId(R.id.add_transfer_method_button)).perform(nestedScrollTo()).check( matches(withText(R.string.button_create_transfer_method))); @@ -169,7 +169,7 @@ public void onReceive(Context context, Intent intent) { .registerReceiver(br, new IntentFilter("ACTION_HYPERWALLET_TRANSFER_METHOD_ADDED")); onView(withId(R.id.email)) - .perform(typeText("sunshine.carreiro@hyperwallet.com")) + .perform(nestedScrollTo(), typeText("sunshine.carreiro@hyperwallet.com")) .perform(closeSoftKeyboard()); onView(withId(R.id.add_transfer_method_button)).perform(nestedScrollTo(), click()); @@ -187,7 +187,7 @@ public void onReceive(Context context, Intent intent) { public void testAddTransferMethod_returnsErrorOnInvalidPattern() { mActivityTestRule.launchActivity(null); // Number input should not allow non numeric values - onView(withId(R.id.email)).perform(typeText("abc1test")); + onView(withId(R.id.email)).perform(nestedScrollTo(), typeText("abc1test")); onView(withId(R.id.add_transfer_method_button)).perform(nestedScrollTo(), click()); onView(withId(R.id.emailLabel)) @@ -212,7 +212,8 @@ public void testAddTransferMethod_displaysErrorOnInvalidEmailAddress() { mActivityTestRule.launchActivity(null); onView(withId(R.id.email)) - .perform(typeText("invalidEmail@gmail.com")).perform(closeSoftKeyboard()); + .perform(nestedScrollTo(), typeText("invalidEmail@gmail.com")) + .perform(closeSoftKeyboard()); onView(withId(R.id.add_transfer_method_button)).perform(nestedScrollTo(), click()); // check dialog content diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java index 01aa039f7..ec314cf3e 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java @@ -42,12 +42,12 @@ import androidx.test.rule.ActivityTestRule; import com.hyperwallet.android.Hyperwallet; +import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.transfermethod.SelectTransferMethodActivity; -import com.hyperwallet.android.ui.util.EspressoIdlingResource; import com.hyperwallet.android.util.RecyclerViewCountAssertion; import com.hyperwallet.android.util.TestAuthenticationProvider; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java index 67f2c2278..635d02d96 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java @@ -33,6 +33,7 @@ import androidx.annotation.VisibleForTesting; import com.hyperwallet.android.Hyperwallet; +import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.listener.HyperwalletListener; import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationField; @@ -40,7 +41,6 @@ import com.hyperwallet.android.model.meta.keyed.HyperwalletTransferMethodType; import com.hyperwallet.android.model.meta.query.HyperwalletTransferMethodConfigurationFieldQuery; import com.hyperwallet.android.model.meta.query.HyperwalletTransferMethodConfigurationKeysQuery; -import com.hyperwallet.android.ui.util.EspressoIdlingResource; import java.util.HashMap; import java.util.Map; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodActivity.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodActivity.java index 381446c7a..196e80f30 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodActivity.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodActivity.java @@ -28,11 +28,11 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import com.hyperwallet.android.common.view.error.DefaultErrorDialogFragment; +import com.hyperwallet.android.common.view.error.OnNetworkErrorCallback; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.ui.view.WidgetSelectionDialogFragment; -import com.hyperwallet.android.ui.view.error.DefaultErrorDialogFragment; -import com.hyperwallet.android.ui.view.error.OnNetworkErrorCallback; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java index 8ac52f721..ea6dc604f 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java @@ -30,11 +30,11 @@ import androidx.fragment.app.FragmentTransaction; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.hyperwallet.android.common.view.error.DefaultErrorDialogFragment; +import com.hyperwallet.android.common.view.error.OnNetworkErrorCallback; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.ui.view.error.DefaultErrorDialogFragment; -import com.hyperwallet.android.ui.view.error.OnNetworkErrorCallback; import com.hyperwallet.android.ui.view.widget.OneClickListener; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodActivity.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodActivity.java index 5a8ff0e92..a0582988b 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodActivity.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodActivity.java @@ -31,12 +31,12 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import com.hyperwallet.android.common.view.error.DefaultErrorDialogFragment; +import com.hyperwallet.android.common.view.error.OnNetworkErrorCallback; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.ui.view.CountrySelectionDialogFragment; import com.hyperwallet.android.ui.view.CurrencySelectionDialogFragment; -import com.hyperwallet.android.ui.view.error.DefaultErrorDialogFragment; -import com.hyperwallet.android.ui.view.error.OnNetworkErrorCallback; import java.util.List; diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index 659d07697..0c983668d 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -7,7 +7,8 @@ Select Transfer Method - @string/title_activity_select_transfer_method + @string/title_activity_select_transfer_method + Country Currency @@ -26,9 +27,6 @@ Default Account Select account as default method MM/YY - Error - Connectivity Issue - Unexpected Error Transaction Fee: Processing Time: @@ -47,9 +45,6 @@ Remove account Remove - Cancel - Close - Try again Transfer Funds diff --git a/ui/src/main/res/values/styles.xml b/ui/src/main/res/values/styles.xml index 887a6de77..73072e176 100644 --- a/ui/src/main/res/values/styles.xml +++ b/ui/src/main/res/values/styles.xml @@ -179,39 +179,39 @@ 0.12 - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + From 9ba8f51372f7b07f9397a7a78b9bfbc8594fc48f Mon Sep 17 00:00:00 2001 From: azakrevska-epam Date: Mon, 27 May 2019 19:08:42 +0300 Subject: [PATCH 02/11] HW-53053. Added jacoco settings --- common/build.gradle | 23 ++++++++ common/config/jacoco-settings.gradle | 79 ++++++++++++++++++++++++++++ common/config/lint.xml | 7 +++ 3 files changed, 109 insertions(+) create mode 100644 common/config/jacoco-settings.gradle create mode 100644 common/config/lint.xml diff --git a/common/build.gradle b/common/build.gradle index d6e471db7..680283082 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,5 +1,8 @@ apply plugin: 'com.android.library' apply plugin: 'maven-publish' +apply plugin: 'signing' +apply plugin: 'org.sonarqube' +apply from: "$projectDir/config/jacoco-settings.gradle" android { compileSdkVersion 28 @@ -121,4 +124,24 @@ publishing { } } } +} + +tasks.withType(Sign) { + onlyIf { + isReleaseVersion && sonatypeUsername?.trim() && sonatypePassword?.trim() + } +} + +signing { + sign publishing.publications.hyperwalletUi +} + +sonarqube { + properties { + def libraries = project.android.sdkDirectory.getPath() + "/platforms/android-28/android.jar" + property "sonar.sources", "src/main/java" + property "sonar.binaries", "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/hyperwallet/android" + property "sonar.libraries", libraries + property "sonar.projectName", "android-ui-sdk-common" + } } \ No newline at end of file diff --git a/common/config/jacoco-settings.gradle b/common/config/jacoco-settings.gradle new file mode 100644 index 000000000..7ce61b7aa --- /dev/null +++ b/common/config/jacoco-settings.gradle @@ -0,0 +1,79 @@ +apply plugin: 'jacoco' + +final def jacocoVersion = "0.8.2" + +jacoco { + toolVersion = jacocoVersion +} + +android { + testOptions { + unitTests { + includeAndroidResources = true + returnDefaultValues = true + } + unitTests.all { + jacoco { + includeNoLocationClasses = true + } + } + } +} + +def fileFilter = ['**/BuildConfig.*'] + +def debugClassPaths = [ + '**/intermediates/javac/dev/*/classes/**' +] + +final def coverageSourceDirs = ["$project.projectDir/src/main/java/*"] + +task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') { + + group = 'Reporting' + description = 'Generate Jacoco coverage reports.' + + reports { + html { + enabled = true + destination file("$buildDir/reports/jacoco") + } + } + + classDirectories = fileTree( + dir: "${buildDir}", + includes: debugClassPaths, + excludes: fileFilter + ) + + additionalSourceDirs = files(coverageSourceDirs) + sourceDirectories = files(coverageSourceDirs) + executionData = files("${buildDir}/jacoco/testDevUnitTest.exec") +} + +task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: 'jacocoTestReport') { + + group = 'Verification' + classDirectories = fileTree( + dir: "${buildDir}", + includes: debugClassPaths, + excludes: fileFilter + ) + additionalSourceDirs = files(coverageSourceDirs) + sourceDirectories = files(coverageSourceDirs) + executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec") + + violationRules { + setFailOnViolation(true) + + rule { + element = 'CLASS' + limit { + value = 'COVEREDRATIO' + counter = 'BRANCH' + minimum = 0.65 + } + } + } +} + diff --git a/common/config/lint.xml b/common/config/lint.xml new file mode 100644 index 000000000..3c83d4bb5 --- /dev/null +++ b/common/config/lint.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 794906599608b72d081c589b3d53ac37800773a1 Mon Sep 17 00:00:00 2001 From: Flavio Mattos Date: Mon, 27 May 2019 17:39:41 -0700 Subject: [PATCH 03/11] Merge with package changes + multi module build --- build.gradle | 62 +++++++++++++++- common/build.gradle | 71 ++++--------------- .../error/DefaultErrorDialogFragment.java | 28 ++++---- receipt/build.gradle | 65 +++++------------ ui/build.gradle | 58 ++------------- .../rule/HyperwalletMockWebServer.java | 8 +-- .../android/ui/HyperwalletLocalBroadcast.java | 2 +- .../ui/repository/RepositoryFactory.java | 8 +-- ...TransferMethodConfigurationRepository.java | 4 +- ...sferMethodConfigurationRepositoryImpl.java | 22 +++--- .../repository/TransferMethodRepository.java | 2 +- .../TransferMethodRepositoryImpl.java | 18 ++--- .../android/ui/repository/UserRepository.java | 2 +- .../ui/repository/UserRepositoryImpl.java | 2 +- .../AddTransferMethodContract.java | 6 +- .../AddTransferMethodFragment.java | 44 ++++++------ .../AddTransferMethodPresenter.java | 4 +- .../ui/transfermethod/FeeFormatter.java | 2 +- .../ListTransferMethodActivity.java | 2 +- .../ListTransferMethodContract.java | 2 +- .../ListTransferMethodFragment.java | 18 ++--- .../ListTransferMethodPresenter.java | 2 +- .../SelectTransferMethodFragment.java | 10 +-- .../SelectTransferMethodPresenter.java | 10 +-- .../TransferMethodSelectionItem.java | 2 +- .../transfermethod/TransferMethodUtils.java | 18 ++--- .../view/CountrySelectionDialogFragment.java | 12 ++-- .../view/CurrencySelectionDialogFragment.java | 8 +-- .../view/WidgetSelectionDialogFragment.java | 8 +-- .../ui/view/widget/AbstractWidget.java | 2 +- .../android/ui/view/widget/DateWidget.java | 2 +- .../ui/view/widget/DefaultAccountWidget.java | 2 +- .../ui/view/widget/ExpiryDateWidget.java | 4 +- .../android/ui/view/widget/NumberWidget.java | 2 +- .../android/ui/view/widget/PhoneWidget.java | 2 +- .../ui/view/widget/SelectionWidget.java | 4 +- .../android/ui/view/widget/TextWidget.java | 2 +- .../android/ui/view/widget/WidgetFactory.java | 4 +- ...MethodConfigurationRepositoryImplTest.java | 22 +++--- .../TransferMethodRepositoryImplTest.java | 36 +++++----- .../ui/repository/UserRepositoryImplTest.java | 20 +++--- .../AddTransferMethodPresenterTest.java | 23 +++--- .../ui/transfermethod/FeeFormatterTest.java | 7 +- .../ListTransferMethodPresenterTest.java | 27 ++++--- .../SelectTransferMethodPresenterTest.java | 15 ++-- .../TransferMethodUtilsTest.java | 4 +- 46 files changed, 306 insertions(+), 372 deletions(-) diff --git a/build.gradle b/build.gradle index 7d443fbbc..b12a62454 100644 --- a/build.gradle +++ b/build.gradle @@ -24,8 +24,68 @@ allprojects { } project.version = "1.0.0-beta03-SNAPSHOT" + +} + +subprojects { + + ext { + hyperwalletGroupId = 'com.hyperwallet.android' + } + + apply plugin: 'com.android.library' + android { + compileSdkVersion 28 + defaultConfig { + minSdkVersion 21 + targetSdkVersion 28 + versionCode 1 + versionName version + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + testInstrumentationRunnerArgument "listener", "com.squareup.leakcanary.FailTestOnLeakRunListener" + } + + sourceSets { + androidTest { + resources.srcDirs += ['src/test/resources'] + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + debug { + testCoverageEnabled true + } + } + + lintOptions { + abortOnError true + warningsAsErrors true + lintConfig file("config/lint.xml") + } + } + + task javadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + failOnError false + } + + task javadocsJar(type: Jar, dependsOn: javadocs) { + classifier = 'javadoc' + from javadocs.destinationDir + } + + task sourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.srcDirs + } + } task clean(type: Delete) { delete rootProject.buildDir -} +} \ No newline at end of file diff --git a/common/build.gradle b/common/build.gradle index 680283082..73aebbc0f 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -4,63 +4,32 @@ apply plugin: 'signing' apply plugin: 'org.sonarqube' apply from: "$projectDir/config/jacoco-settings.gradle" -android { - compileSdkVersion 28 - - - defaultConfig { - minSdkVersion 21 - targetSdkVersion 28 - versionCode 1 - versionName version - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - debug { - testCoverageEnabled true - } - } - -} dependencies { implementation "com.google.android.material:material:1.0.0" implementation "androidx.test.espresso:espresso-idling-resource:3.1.1" - implementation "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" - androidTestImplementation "androidx.test.ext:junit:1.1.0" androidTestImplementation "androidx.test:runner:1.1.1" androidTestImplementation "androidx.test.espresso:espresso-core:3.1.1" - testImplementation group: 'org.mockito', name: 'mockito-core', version: "2.25.0" testImplementation group: 'pl.pragmatists', name: 'JUnitParams', version: "1.1.1" } -task javadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) - failOnError false -} -task javadocsJar(type: Jar, dependsOn: javadocs) { - classifier = 'javadoc' - from javadocs.destinationDir +sonarqube { + properties { + def libraries = project.android.sdkDirectory.getPath() + "/platforms/android-28/android.jar" + property "sonar.sources", "src/main/java" + property "sonar.binaries", "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/hyperwallet/android" + property "sonar.libraries", libraries + property "sonar.projectName", "android-ui-sdk-common" + } } -task sourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} -def aarFile = file("$buildDir/outputs/aar/ui-$version" + ".aar") + +def aarFile = file("$buildDir/outputs/aar/common-$version"+".aar") def aarArtifact = artifacts.add('archives', aarFile) { type 'aar' } @@ -82,8 +51,8 @@ publishing { } publications { - hyperwalletUi(MavenPublication) { - groupId = 'com.hyperwallet.android' + hyperwalletCommonUi(MavenPublication) { + groupId = hyperwalletGroupId artifactId = 'common' version = version @@ -92,8 +61,8 @@ publishing { artifact(aarArtifact) pom { - name = 'Hyperwallet Android UI SDK (common)' - description = 'Hyperwallet UI SDK for Android to integrate with Hyperwallet Platform' + name = 'Hyperwallet Android Common UI SDK' + description = 'Hyperwallet Common UI SDK for Android to integrate with Hyperwallet Platform' url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' pom.withXml { def dependenciesNode = asNode().appendNode('dependencies') @@ -133,15 +102,5 @@ tasks.withType(Sign) { } signing { - sign publishing.publications.hyperwalletUi -} - -sonarqube { - properties { - def libraries = project.android.sdkDirectory.getPath() + "/platforms/android-28/android.jar" - property "sonar.sources", "src/main/java" - property "sonar.binaries", "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/hyperwallet/android" - property "sonar.libraries", libraries - property "sonar.projectName", "android-ui-sdk-common" - } + sign publishing.publications.hyperwalletCommonUi } \ No newline at end of file diff --git a/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java index 114869de9..b3ea55029 100644 --- a/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java +++ b/common/src/main/java/com/hyperwallet/android/common/view/error/DefaultErrorDialogFragment.java @@ -55,6 +55,20 @@ public DefaultErrorDialogFragment() { setRetainInstance(true); } + /** + * Builds Hyperwallet Error Dialogue + * + * @param errors List of Errors @see {@link Error} + */ + public static DefaultErrorDialogFragment newInstance(@NonNull List errors) { + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(ARGUMENT_ERROR_KEY, new ArrayList<>(errors)); + + DefaultErrorDialogFragment errorDialogFragment = new DefaultErrorDialogFragment(); + errorDialogFragment.setArguments(bundle); + return errorDialogFragment; + } + @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -70,20 +84,6 @@ public void onCancel(DialogInterface dialog) { requireActivity().finish(); } - /** - * Builds Hyperwallet Error Dialogue - * - * @param errors List of Errors @see {@link Error} - */ - public static DefaultErrorDialogFragment newInstance(@NonNull List errors) { - Bundle bundle = new Bundle(); - bundle.putParcelableArrayList(ARGUMENT_ERROR_KEY, new ArrayList<>(errors)); - - DefaultErrorDialogFragment errorDialogFragment = new DefaultErrorDialogFragment(); - errorDialogFragment.setArguments(bundle); - return errorDialogFragment; - } - public void show(@NonNull FragmentManager manager) { show(manager, TAG); } diff --git a/receipt/build.gradle b/receipt/build.gradle index 2796886af..58ee632f6 100644 --- a/receipt/build.gradle +++ b/receipt/build.gradle @@ -1,55 +1,14 @@ apply plugin: 'com.android.library' apply plugin: 'maven-publish' +apply plugin: 'signing' -android { - compileSdkVersion 28 - - - defaultConfig { - minSdkVersion 21 - targetSdkVersion 28 - versionCode 1 - versionName version - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - debug { - testCoverageEnabled true - } - } - -} dependencies { - api "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" - api "com.hyperwallet.android:common:1.0.0-beta03-SNAPSHOT" -} - -task javadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) - failOnError false + project(":common") } -task javadocsJar(type: Jar, dependsOn: javadocs) { - classifier = 'javadoc' - from javadocs.destinationDir -} - -task sourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} - -def aarFile = file("$buildDir/outputs/aar/ui-$version"+".aar") +def aarFile = file("$buildDir/outputs/aar/receipt-$version"+".aar") def aarArtifact = artifacts.add('archives', aarFile) { type 'aar' } @@ -71,8 +30,8 @@ publishing { } publications { - hyperwalletUi(MavenPublication) { - groupId = 'com.hyperwallet.android' + hyperwalletReceiptUi(MavenPublication) { + groupId = hyperwalletGroupId artifactId = 'receipt' version = version @@ -81,8 +40,8 @@ publishing { artifact(aarArtifact) pom { - name = 'Hyperwallet Android UI SDK (receipt)' - description = 'Hyperwallet UI SDK for Android to integrate with Hyperwallet Platform' + name = 'Hyperwallet Android Receipt UI SDK' + description = 'Hyperwallet Receipt UI SDK for Android to integrate with Hyperwallet Platform' url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' pom.withXml { def dependenciesNode = asNode().appendNode('dependencies') @@ -114,3 +73,13 @@ publishing { } } } + +tasks.withType(Sign) { + onlyIf { + isReleaseVersion && sonatypeUsername?.trim() && sonatypePassword?.trim() + } +} + +signing { + sign publishing.publications.hyperwalletReceiptUi +} \ No newline at end of file diff --git a/ui/build.gradle b/ui/build.gradle index 36cd891d4..446865c12 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -4,42 +4,6 @@ apply plugin: 'signing' apply plugin: 'org.sonarqube' apply from: "$projectDir/config/jacoco-settings.gradle" -android { - compileSdkVersion 28 - defaultConfig { - minSdkVersion 21 - targetSdkVersion 28 - versionCode 1 - versionName version - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - testInstrumentationRunnerArgument "listener", "com.squareup.leakcanary.FailTestOnLeakRunListener" - } - - sourceSets { - androidTest { - resources.srcDirs += ['src/test/resources'] - } - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - debug { - testCoverageEnabled true - } - } - - lintOptions { - abortOnError true - warningsAsErrors true - lintConfig file("config/lint.xml") - } - -} - - dependencies { implementation "androidx.appcompat:appcompat:1.0.2" @@ -49,7 +13,8 @@ dependencies { implementation "androidx.recyclerview:recyclerview:1.0.0" api "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" - api "com.hyperwallet.android:common:1.0.0-beta03-SNAPSHOT" + api project(":common") + api project(":receipt") androidTestImplementation "androidx.test.ext:junit:1.1.0" androidTestImplementation "androidx.test:runner:1.1.1" @@ -68,21 +33,6 @@ dependencies { } -task javadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) - failOnError false -} - -task javadocsJar(type: Jar, dependsOn: javadocs) { - classifier = 'javadoc' - from javadocs.destinationDir -} - -task sourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} def aarFile = file("$buildDir/outputs/aar/ui-$version"+".aar") def aarArtifact = artifacts.add('archives', aarFile) { @@ -107,7 +57,7 @@ publishing { publications { hyperwalletUi(MavenPublication) { - groupId = 'com.hyperwallet.android' + groupId = hyperwalletGroupId artifactId = 'ui-sdk' version = version @@ -116,7 +66,7 @@ publishing { artifact(aarArtifact) pom { - name = 'Hyperwallet Android UI SDK (ui)' + name = 'Hyperwallet Android UI SDK' description = 'Hyperwallet UI SDK for Android to integrate with Hyperwallet Platform' url = 'https://github.com/hyperwallet/hyperwallet-android-ui-sdk' pom.withXml { diff --git a/ui/src/androidTest/java/com/hyperwallet/android/rule/HyperwalletMockWebServer.java b/ui/src/androidTest/java/com/hyperwallet/android/rule/HyperwalletMockWebServer.java index 0917a22b2..9f42f6128 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/rule/HyperwalletMockWebServer.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/rule/HyperwalletMockWebServer.java @@ -14,6 +14,10 @@ public final class HyperwalletMockWebServer extends TestWatcher { private MockWebServer mServer; private int port; + public HyperwalletMockWebServer(int port) { + this.port = port; + } + @Override protected void starting(Description description) { super.starting(description); @@ -36,10 +40,6 @@ protected void finished(Description description) { } } - public HyperwalletMockWebServer(int port) { - this.port = port; - } - public HyperwalletMockResponse mockResponse() { return new Builder(mServer).build(); } diff --git a/ui/src/main/java/com/hyperwallet/android/ui/HyperwalletLocalBroadcast.java b/ui/src/main/java/com/hyperwallet/android/ui/HyperwalletLocalBroadcast.java index 35e62f2d0..7eed4cec5 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/HyperwalletLocalBroadcast.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/HyperwalletLocalBroadcast.java @@ -26,7 +26,7 @@ import androidx.annotation.StringDef; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/RepositoryFactory.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/RepositoryFactory.java index ec2a3a935..8ae21ee6d 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/RepositoryFactory.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/RepositoryFactory.java @@ -46,6 +46,10 @@ public static synchronized RepositoryFactory getInstance() { return sInstance; } + public static void clearInstance() { + sInstance = null; + } + public TransferMethodConfigurationRepository getTransferMethodConfigurationRepository() { return mTransferMethodConfigurationRepository; } @@ -57,8 +61,4 @@ public TransferMethodRepository getTransferMethodRepository() { public UserRepository getUserRepository() { return mUserRepository; } - - public static void clearInstance() { - sInstance = null; - } } diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepository.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepository.java index a937b371e..165e21565 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepository.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepository.java @@ -30,8 +30,8 @@ import androidx.annotation.Nullable; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationField; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationKey; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationField; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationKey; public interface TransferMethodConfigurationRepository { diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java index 635d02d96..d2301698e 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImpl.java @@ -36,11 +36,11 @@ import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.listener.HyperwalletListener; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationField; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationKey; -import com.hyperwallet.android.model.meta.keyed.HyperwalletTransferMethodType; -import com.hyperwallet.android.model.meta.query.HyperwalletTransferMethodConfigurationFieldQuery; -import com.hyperwallet.android.model.meta.query.HyperwalletTransferMethodConfigurationKeysQuery; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationField; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationKey; +import com.hyperwallet.android.model.graphql.keyed.HyperwalletTransferMethodType; +import com.hyperwallet.android.model.graphql.query.HyperwalletTransferMethodConfigurationFieldQuery; +import com.hyperwallet.android.model.graphql.query.HyperwalletTransferMethodConfigurationKeysQuery; import java.util.HashMap; import java.util.Map; @@ -48,20 +48,15 @@ import java.util.Set; public class TransferMethodConfigurationRepositoryImpl implements TransferMethodConfigurationRepository { - private HyperwalletTransferMethodConfigurationKey mTransferMethodConfigurationKey; private final Handler mHandler; private final Map mFieldMap; + private HyperwalletTransferMethodConfigurationKey mTransferMethodConfigurationKey; TransferMethodConfigurationRepositoryImpl() { mHandler = new Handler(); mFieldMap = new HashMap<>(); } - @VisibleForTesting - Hyperwallet getHyperwallet() { - return Hyperwallet.getDefault(); - } - @VisibleForTesting() protected TransferMethodConfigurationRepositoryImpl(@Nullable Handler handler, HyperwalletTransferMethodConfigurationKey transferMethodConfigurationKey, @@ -71,6 +66,11 @@ protected TransferMethodConfigurationRepositoryImpl(@Nullable Handler handler, mFieldMap = fieldMap; } + @VisibleForTesting + Hyperwallet getHyperwallet() { + return Hyperwallet.getDefault(); + } + @VisibleForTesting void getTransferMethodConfigurationKeyResult(final LoadKeysCallback loadKeysCallback) { HyperwalletTransferMethodConfigurationKeysQuery query = new HyperwalletTransferMethodConfigurationKeysQuery(); diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepository.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepository.java index de222ff69..37baebfc9 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepository.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepository.java @@ -20,7 +20,7 @@ import com.hyperwallet.android.model.HyperwalletErrors; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImpl.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImpl.java index 4becad682..7d6b77063 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImpl.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImpl.java @@ -16,11 +16,11 @@ */ package com.hyperwallet.android.ui.repository; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TOKEN; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TYPE; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TOKEN; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TYPE; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT; import android.os.Handler; @@ -31,12 +31,12 @@ import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.listener.HyperwalletListener; -import com.hyperwallet.android.model.HyperwalletBankAccount; -import com.hyperwallet.android.model.HyperwalletBankCard; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.PayPalAccount; import com.hyperwallet.android.model.paging.HyperwalletPageList; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankAccount; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankCard; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.PayPalAccount; public class TransferMethodRepositoryImpl implements TransferMethodRepository { diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepository.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepository.java index 902a8d13b..777b7583a 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepository.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepository.java @@ -21,7 +21,7 @@ import androidx.annotation.NonNull; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.HyperwalletUser; +import com.hyperwallet.android.model.user.HyperwalletUser; /** * User Repository Contract diff --git a/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepositoryImpl.java b/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepositoryImpl.java index 561d4cf85..524849db2 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepositoryImpl.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/repository/UserRepositoryImpl.java @@ -27,7 +27,7 @@ import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.listener.HyperwalletListener; -import com.hyperwallet.android.model.HyperwalletUser; +import com.hyperwallet.android.model.user.HyperwalletUser; public class UserRepositoryImpl implements UserRepository { diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodContract.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodContract.java index eb3e29810..2d0aec1f4 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodContract.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodContract.java @@ -19,9 +19,9 @@ import androidx.annotation.NonNull; import com.hyperwallet.android.model.HyperwalletError; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.meta.HyperwalletFee; -import com.hyperwallet.android.model.meta.field.HyperwalletFieldGroup; +import com.hyperwallet.android.model.graphql.HyperwalletFee; +import com.hyperwallet.android.model.graphql.field.HyperwalletFieldGroup; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodFragment.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodFragment.java index 659e6a205..5fc0fda71 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodFragment.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodFragment.java @@ -16,13 +16,13 @@ */ package com.hyperwallet.android.ui.transfermethod; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.PROFILE_TYPE; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_CURRENCY; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TYPE; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.PROFILE_TYPE; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_CURRENCY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TYPE; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT; import android.app.Activity; import android.content.Context; @@ -46,14 +46,14 @@ import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.HyperwalletBankAccount; -import com.hyperwallet.android.model.HyperwalletBankCard; import com.hyperwallet.android.model.HyperwalletError; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.PayPalAccount; -import com.hyperwallet.android.model.meta.HyperwalletFee; -import com.hyperwallet.android.model.meta.field.HyperwalletField; -import com.hyperwallet.android.model.meta.field.HyperwalletFieldGroup; +import com.hyperwallet.android.model.graphql.HyperwalletFee; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletFieldGroup; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankAccount; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankCard; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.PayPalAccount; import com.hyperwallet.android.ui.HyperwalletLocalBroadcast; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.view.WidgetSelectionDialogFragment; @@ -477,14 +477,6 @@ public void openWidgetSelectionFragmentDialog(@NonNull final TreeMap errors); - } - - interface OnAddTransferMethodNetworkErrorCallback { - void showErrorsAddTransferMethod(@NonNull final List errors); - } - private void triggerSubmit() { if (performValidation(true)) { switch (mTransferMethodType) { @@ -580,4 +572,12 @@ private boolean performValidation(boolean bypassFocusCheck) { public boolean isActive() { return isAdded(); } + + interface OnLoadTransferMethodConfigurationFieldsNetworkErrorCallback { + void showErrorsLoadTransferMethodConfigurationFields(@NonNull final List errors); + } + + interface OnAddTransferMethodNetworkErrorCallback { + void showErrorsAddTransferMethod(@NonNull final List errors); + } } diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenter.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenter.java index 8373668bd..a2b23bdee 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenter.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenter.java @@ -20,8 +20,8 @@ import androidx.annotation.Nullable; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationField; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationField; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.repository.TransferMethodConfigurationRepository; import com.hyperwallet.android.ui.repository.TransferMethodRepository; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/FeeFormatter.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/FeeFormatter.java index 095c218c7..9e0c25358 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/FeeFormatter.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/FeeFormatter.java @@ -23,7 +23,7 @@ import androidx.annotation.NonNull; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.HyperwalletFee; +import com.hyperwallet.android.model.graphql.HyperwalletFee; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java index ea6dc604f..9f3f37654 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodActivity.java @@ -34,7 +34,7 @@ import com.hyperwallet.android.common.view.error.OnNetworkErrorCallback; import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletError; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.view.widget.OneClickListener; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodContract.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodContract.java index e3403d5a7..0b2e0e5ad 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodContract.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodContract.java @@ -20,7 +20,7 @@ import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodFragment.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodFragment.java index 715ce8eba..385d827a6 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodFragment.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodFragment.java @@ -16,14 +16,14 @@ */ package com.hyperwallet.android.ui.transfermethod; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.BANK_ACCOUNT_ID; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.CARD_NUMBER; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TYPE; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.PREPAID_CARD; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.BANK_ACCOUNT_ID; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.CARD_NUMBER; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TYPE; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PREPAID_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT; import static com.hyperwallet.android.ui.transfermethod.TransferMethodUtils.getStringFontIcon; import static com.hyperwallet.android.ui.transfermethod.TransferMethodUtils.getStringResourceByName; @@ -51,7 +51,7 @@ import com.hyperwallet.android.hyperwallet_ui.R; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.HyperwalletLocalBroadcast; import com.hyperwallet.android.ui.repository.RepositoryFactory; import com.hyperwallet.android.ui.view.HorizontalDividerItemDecorator; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenter.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenter.java index 5480e0a2e..4ad64b5d1 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenter.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenter.java @@ -20,7 +20,7 @@ import com.hyperwallet.android.model.HyperwalletErrors; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.repository.TransferMethodRepository; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodFragment.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodFragment.java index 193aefd14..aa4a9408f 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodFragment.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodFragment.java @@ -354,6 +354,11 @@ public void reloadCurrencySelection() { mPresenter.loadCurrencySelection(mSelectedCountryCode, mSelectedCurrencyCode); } + private String getCountryDisplay(@NonNull final String countryCode) { + Locale locale = new Locale.Builder().setRegion(countryCode).build(); + return locale.getDisplayName(); + } + public interface TransferMethodSelectionItemListener { void onTransferMethodSelected(TransferMethodSelectionItem transferMethodType); @@ -384,11 +389,6 @@ interface OnLoadCurrencySelectionNetworkErrorCallback { void showErrorsLoadCurrencySelection(@NonNull final List errors); } - private String getCountryDisplay(@NonNull final String countryCode) { - Locale locale = new Locale.Builder().setRegion(countryCode).build(); - return locale.getDisplayName(); - } - private static class TransferMethodTypesAdapter extends RecyclerView.Adapter { diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenter.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenter.java index e5e49cb59..e6cb193bd 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenter.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenter.java @@ -21,11 +21,11 @@ import androidx.annotation.Nullable; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.HyperwalletUser; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationKey; -import com.hyperwallet.android.model.meta.keyed.Country; -import com.hyperwallet.android.model.meta.keyed.Currency; -import com.hyperwallet.android.model.meta.keyed.HyperwalletTransferMethodType; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationKey; +import com.hyperwallet.android.model.graphql.keyed.Country; +import com.hyperwallet.android.model.graphql.keyed.Currency; +import com.hyperwallet.android.model.graphql.keyed.HyperwalletTransferMethodType; +import com.hyperwallet.android.model.user.HyperwalletUser; import com.hyperwallet.android.ui.repository.TransferMethodConfigurationRepository; import com.hyperwallet.android.ui.repository.UserRepository; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodSelectionItem.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodSelectionItem.java index c3c7af373..e116f9368 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodSelectionItem.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodSelectionItem.java @@ -18,7 +18,7 @@ import androidx.annotation.NonNull; -import com.hyperwallet.android.model.meta.HyperwalletFee; +import com.hyperwallet.android.model.graphql.HyperwalletFee; import java.util.ArrayList; import java.util.List; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtils.java b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtils.java index 7eb96f386..87877cddd 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtils.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtils.java @@ -16,13 +16,13 @@ */ package com.hyperwallet.android.ui.transfermethod; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TYPE; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.PAPER_CHECK; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.PREPAID_CARD; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TYPE; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAPER_CHECK; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PREPAID_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT; import android.content.Context; import android.content.res.Resources; @@ -30,8 +30,8 @@ import androidx.annotation.NonNull; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodType; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodType; import java.util.Locale; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/CountrySelectionDialogFragment.java b/ui/src/main/java/com/hyperwallet/android/ui/view/CountrySelectionDialogFragment.java index 52ce63c19..828697756 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/CountrySelectionDialogFragment.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/CountrySelectionDialogFragment.java @@ -134,8 +134,8 @@ public void onClick(View v) { public void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState); if (savedInstanceState != null) { - mCountryNameCodeMap = new TreeMap<>( - (Map)savedInstanceState.getSerializable(ARGUMENT_COUNTRY_NAME_CODE_MAP)); + mCountryNameCodeMap = new TreeMap<>( + (Map) savedInstanceState.getSerializable(ARGUMENT_COUNTRY_NAME_CODE_MAP)); mSelectedCountryName = savedInstanceState.getString(ARGUMENT_SELECTED_COUNTRY_NAME); mSearchCountryNameQuery = savedInstanceState.getString(ARGUMENT_SEARCH_COUNTRY_NAME_QUERY); } else { @@ -217,6 +217,10 @@ public void onView() { } } + public interface CountrySelectionItemClickListener { + void onCountryItemClicked(String countryCode); + } + private static class Adapter extends RecyclerView.Adapter implements Filterable { private TreeMap mCountryNameCodeFilteredMap; @@ -350,8 +354,4 @@ void recycle() { } } } - - public interface CountrySelectionItemClickListener { - void onCountryItemClicked(String countryCode); - } } diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/CurrencySelectionDialogFragment.java b/ui/src/main/java/com/hyperwallet/android/ui/view/CurrencySelectionDialogFragment.java index 52f6428e3..84e0ed3fc 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/CurrencySelectionDialogFragment.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/CurrencySelectionDialogFragment.java @@ -233,6 +233,10 @@ public void hideSoftKey(@NonNull View focusedView) { inputMethodManager.hideSoftInputFromWindow(focusedView.getWindowToken(), 0); } + public interface CurrencySelectionItemClickListener { + void onCurrencyItemClicked(String currencyCode); + } + private static class Adapter extends RecyclerView.Adapter implements Filterable { private TreeMap mCurrencyNameCodeFilteredMap; @@ -367,8 +371,4 @@ void recycle() { } } } - - public interface CurrencySelectionItemClickListener { - void onCurrencyItemClicked(String currencyCode); - } } diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/WidgetSelectionDialogFragment.java b/ui/src/main/java/com/hyperwallet/android/ui/view/WidgetSelectionDialogFragment.java index 5dab1341b..42b98af70 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/WidgetSelectionDialogFragment.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/WidgetSelectionDialogFragment.java @@ -232,6 +232,10 @@ public interface WidgetSelectionItemListener { void onWidgetSelectionItemClicked(@NonNull final String selectedValue, @NonNull final String fieldName); } + public interface WidgetSelectionItemType { + void onWidgetSelectionItemClicked(@NonNull String selectedValue); + } + private static class Adapter extends RecyclerView.Adapter implements Filterable { private final Fragment mFragment; @@ -370,8 +374,4 @@ void recycle() { } } } - - public interface WidgetSelectionItemType { - void onWidgetSelectionItemClicked(@NonNull String selectedValue); - } } diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/AbstractWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/AbstractWidget.java index 211e120c6..bad1ae933 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/AbstractWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/AbstractWidget.java @@ -24,7 +24,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; public abstract class AbstractWidget { diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DateWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DateWidget.java index 00746d090..fd2199c83 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DateWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DateWidget.java @@ -32,7 +32,7 @@ import com.google.android.material.textfield.TextInputLayout; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; public class DateWidget extends AbstractWidget { diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DefaultAccountWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DefaultAccountWidget.java index 9463f308f..99bfabc0b 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DefaultAccountWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/DefaultAccountWidget.java @@ -1,6 +1,6 @@ package com.hyperwallet.android.ui.view.widget; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.IS_DEFAULT_TRANSFER_METHOD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.IS_DEFAULT_TRANSFER_METHOD; import android.graphics.Typeface; import android.view.View; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/ExpiryDateWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/ExpiryDateWidget.java index 9777f2153..8ae7dfacf 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/ExpiryDateWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/ExpiryDateWidget.java @@ -39,11 +39,11 @@ import com.google.android.material.textfield.TextInputLayout; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; public class ExpiryDateWidget extends AbstractWidget { - private ViewGroup mContainer; private final ExpireDateUtil mExpireDateUtil; + private ViewGroup mContainer; private TextInputLayout mTextInputLayout; private String mValue; private String mMessageInvalidDateLength; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/NumberWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/NumberWidget.java index 39dcc7eed..2d4e9562c 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/NumberWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/NumberWidget.java @@ -32,7 +32,7 @@ import com.google.android.material.textfield.TextInputLayout; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; public class NumberWidget extends AbstractWidget { private ViewGroup mContainer; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/PhoneWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/PhoneWidget.java index b0d2b8e0f..346c1972c 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/PhoneWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/PhoneWidget.java @@ -32,7 +32,7 @@ import com.google.android.material.textfield.TextInputLayout; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; public class PhoneWidget extends AbstractWidget { private ViewGroup mContainer; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/SelectionWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/SelectionWidget.java index 146de1b65..102eea656 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/SelectionWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/SelectionWidget.java @@ -32,8 +32,8 @@ import com.google.android.material.textfield.TextInputLayout; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.field.HyperwalletField; -import com.hyperwallet.android.model.meta.field.HyperwalletFieldSelectionOption; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletFieldSelectionOption; import com.hyperwallet.android.ui.view.WidgetSelectionDialogFragment; import java.util.Set; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/TextWidget.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/TextWidget.java index f16fd51c0..599b77b9a 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/TextWidget.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/TextWidget.java @@ -32,7 +32,7 @@ import com.google.android.material.textfield.TextInputLayout; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; public class TextWidget extends AbstractWidget { private ViewGroup mContainer; diff --git a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/WidgetFactory.java b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/WidgetFactory.java index 18bd507ca..a633114a6 100644 --- a/ui/src/main/java/com/hyperwallet/android/ui/view/widget/WidgetFactory.java +++ b/ui/src/main/java/com/hyperwallet/android/ui/view/widget/WidgetFactory.java @@ -22,8 +22,8 @@ import androidx.annotation.Nullable; import com.hyperwallet.android.exception.HyperwalletException; -import com.hyperwallet.android.model.meta.field.EDataType; -import com.hyperwallet.android.model.meta.field.HyperwalletField; +import com.hyperwallet.android.model.graphql.field.EDataType; +import com.hyperwallet.android.model.graphql.field.HyperwalletField; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; diff --git a/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImplTest.java b/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImplTest.java index 0b99486ff..aec2aad6d 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImplTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodConfigurationRepositoryImplTest.java @@ -15,7 +15,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static com.hyperwallet.android.model.HyperwalletUser.ProfileTypes.INDIVIDUAL; +import static com.hyperwallet.android.model.user.HyperwalletUser.ProfileTypes.INDIVIDUAL; import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.exception.HyperwalletException; @@ -23,16 +23,16 @@ import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletErrors; import com.hyperwallet.android.model.TypeReference; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationField; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationKey; -import com.hyperwallet.android.model.meta.field.HyperwalletFieldGroup; -import com.hyperwallet.android.model.meta.field.HyperwalletTransferMethodConfiguration; -import com.hyperwallet.android.model.meta.field.HyperwalletTransferMethodConfigurationFieldResult; -import com.hyperwallet.android.model.meta.keyed.Country; -import com.hyperwallet.android.model.meta.keyed.Currency; -import com.hyperwallet.android.model.meta.keyed.HyperwalletTransferMethodConfigurationKeyResult; -import com.hyperwallet.android.model.meta.query.HyperwalletTransferMethodConfigurationFieldQuery; -import com.hyperwallet.android.model.meta.query.HyperwalletTransferMethodConfigurationKeysQuery; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationField; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationKey; +import com.hyperwallet.android.model.graphql.field.HyperwalletFieldGroup; +import com.hyperwallet.android.model.graphql.field.HyperwalletTransferMethodConfiguration; +import com.hyperwallet.android.model.graphql.field.HyperwalletTransferMethodConfigurationFieldResult; +import com.hyperwallet.android.model.graphql.keyed.Country; +import com.hyperwallet.android.model.graphql.keyed.Currency; +import com.hyperwallet.android.model.graphql.keyed.HyperwalletTransferMethodConfigurationKeyResult; +import com.hyperwallet.android.model.graphql.query.HyperwalletTransferMethodConfigurationFieldQuery; +import com.hyperwallet.android.model.graphql.query.HyperwalletTransferMethodConfigurationKeysQuery; import com.hyperwallet.android.ui.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.util.JsonUtils; diff --git a/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImplTest.java b/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImplTest.java index cfcdb8c96..6135c42b2 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImplTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImplTest.java @@ -15,26 +15,26 @@ import static com.hyperwallet.android.model.HyperwalletStatusTransition.StatusDefinition.ACTIVATED; import static com.hyperwallet.android.model.HyperwalletStatusTransition.StatusDefinition.DE_ACTIVATED; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.BANK_ACCOUNT_ID; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.BANK_NAME; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.STATUS; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TOKEN; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_CURRENCY; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TYPE; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.BANK_ACCOUNT_ID; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.BANK_NAME; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.STATUS; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TOKEN; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_CURRENCY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TYPE; import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.listener.HyperwalletListener; -import com.hyperwallet.android.model.HyperwalletBankAccount; -import com.hyperwallet.android.model.HyperwalletBankCard; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletErrors; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.HyperwalletTransferMethodPagination; -import com.hyperwallet.android.model.PayPalAccount; import com.hyperwallet.android.model.paging.HyperwalletPageList; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankAccount; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankCard; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethodPagination; +import com.hyperwallet.android.model.transfermethod.PayPalAccount; import org.junit.Before; import org.junit.Rule; @@ -58,6 +58,12 @@ @RunWith(RobolectricTestRunner.class) public class TransferMethodRepositoryImplTest { + @Rule + public ExpectedException mThrown = ExpectedException.none(); + @Rule + public MockitoRule mMockito = MockitoJUnit.rule(); + @Spy + TransferMethodRepositoryImpl mTransferMethodRepository; @Mock private Hyperwallet mHyperwallet; @Mock @@ -78,12 +84,6 @@ public class TransferMethodRepositoryImplTest { private ArgumentCaptor mStatusTransitionArgumentCaptor; @Captor private ArgumentCaptor> mListTransferMethodCaptor; - @Rule - public ExpectedException mThrown = ExpectedException.none(); - @Rule - public MockitoRule mMockito = MockitoJUnit.rule(); - @Spy - TransferMethodRepositoryImpl mTransferMethodRepository; @Before public void setup() { diff --git a/ui/src/test/java/com/hyperwallet/android/ui/repository/UserRepositoryImplTest.java b/ui/src/test/java/com/hyperwallet/android/ui/repository/UserRepositoryImplTest.java index 0553f14a0..d35c7fa3a 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/repository/UserRepositoryImplTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/repository/UserRepositoryImplTest.java @@ -11,16 +11,16 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static com.hyperwallet.android.model.HyperwalletUser.ProfileTypes.INDIVIDUAL; -import static com.hyperwallet.android.model.HyperwalletUser.UserStatuses.PRE_ACTIVATED; -import static com.hyperwallet.android.model.HyperwalletUser.VerificationStatuses.NOT_REQUIRED; +import static com.hyperwallet.android.model.user.HyperwalletUser.ProfileTypes.INDIVIDUAL; +import static com.hyperwallet.android.model.user.HyperwalletUser.UserStatuses.PRE_ACTIVATED; +import static com.hyperwallet.android.model.user.HyperwalletUser.VerificationStatuses.NOT_REQUIRED; import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.exception.HyperwalletException; import com.hyperwallet.android.listener.HyperwalletListener; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.HyperwalletUser; +import com.hyperwallet.android.model.user.HyperwalletUser; import org.junit.Before; import org.junit.Rule; @@ -42,18 +42,18 @@ @RunWith(RobolectricTestRunner.class) public class UserRepositoryImplTest { - @Mock - private Hyperwallet mHyperwallet; + @Rule + public MockitoRule mMockito = MockitoJUnit.rule(); @Mock UserRepository.LoadUserCallback mMockCallback; + @Spy + UserRepositoryImpl mUserRepository; + @Mock + private Hyperwallet mHyperwallet; @Captor private ArgumentCaptor mErrorCaptor; @Captor private ArgumentCaptor mUserCaptor; - @Rule - public MockitoRule mMockito = MockitoJUnit.rule(); - @Spy - UserRepositoryImpl mUserRepository; @Before public void setup() { diff --git a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenterTest.java b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenterTest.java index 443d6b3a5..623caad7b 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenterTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodPresenterTest.java @@ -13,16 +13,16 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static com.hyperwallet.android.model.HyperwalletUser.ProfileTypes.INDIVIDUAL; +import static com.hyperwallet.android.model.user.HyperwalletUser.ProfileTypes.INDIVIDUAL; -import com.hyperwallet.android.model.HyperwalletBankAccount; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.meta.HyperwalletFee; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationField; -import com.hyperwallet.android.model.meta.field.HyperwalletFieldGroup; -import com.hyperwallet.android.model.meta.field.HyperwalletTransferMethodConfiguration; +import com.hyperwallet.android.model.graphql.HyperwalletFee; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationField; +import com.hyperwallet.android.model.graphql.field.HyperwalletFieldGroup; +import com.hyperwallet.android.model.graphql.field.HyperwalletTransferMethodConfiguration; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankAccount; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.repository.TransferMethodConfigurationRepository; import com.hyperwallet.android.ui.repository.TransferMethodRepository; import com.hyperwallet.android.ui.rule.HyperwalletExternalResourceManager; @@ -57,8 +57,11 @@ public class AddTransferMethodPresenterTest { private final HyperwalletBankAccount bankAccount = new HyperwalletBankAccount .Builder("CA", "CAD", "3423423432") .build(); + @Rule + public MockitoRule mockito = MockitoJUnit.rule(); + @Rule + public HyperwalletExternalResourceManager externalResourceManager = new HyperwalletExternalResourceManager(); private AddTransferMethodPresenter presenter; - @Mock private TransferMethodConfigurationRepository tmcRepository; @Mock @@ -69,10 +72,6 @@ public class AddTransferMethodPresenterTest { private ArgumentCaptor> fieldArgumentCaptor; @Captor private ArgumentCaptor> mErrorListArgumentCaptor; - @Rule - public MockitoRule mockito = MockitoJUnit.rule(); - @Rule - public HyperwalletExternalResourceManager externalResourceManager = new HyperwalletExternalResourceManager(); @Before public void setUp() { diff --git a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/FeeFormatterTest.java b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/FeeFormatterTest.java index 664dac517..269efa42e 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/FeeFormatterTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/FeeFormatterTest.java @@ -9,7 +9,7 @@ import android.content.res.Resources; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.meta.HyperwalletFee; +import com.hyperwallet.android.model.graphql.HyperwalletFee; import com.hyperwallet.android.ui.rule.HyperwalletExternalResourceManager; import org.json.JSONException; @@ -33,6 +33,8 @@ public class FeeFormatterTest { @Rule public MockitoRule mockito = MockitoJUnit.rule(); + @Rule + public HyperwalletExternalResourceManager externalResourceManager = new HyperwalletExternalResourceManager(); @Captor private ArgumentCaptor resourceIdCaptor; @Captor @@ -41,9 +43,6 @@ public class FeeFormatterTest { private Context context; @Mock private Resources resources; - @Rule - public HyperwalletExternalResourceManager externalResourceManager = new HyperwalletExternalResourceManager(); - private HyperwalletFee mFlatFee; private JSONObject mJSONObject; diff --git a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenterTest.java b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenterTest.java index c4b8564ea..b1d95f838 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenterTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/ListTransferMethodPresenterTest.java @@ -29,15 +29,15 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.BANK_ACCOUNT_ID; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_CURRENCY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.BANK_ACCOUNT_ID; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_COUNTRY; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodFields.TRANSFER_METHOD_CURRENCY; -import com.hyperwallet.android.model.HyperwalletBankAccount; import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletErrors; import com.hyperwallet.android.model.HyperwalletStatusTransition; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletBankAccount; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.repository.TransferMethodRepository; import org.junit.Before; @@ -57,6 +57,14 @@ public class ListTransferMethodPresenterTest { + private final HyperwalletErrors errors = createErrors(); + private final HyperwalletBankAccount bankAccount = new HyperwalletBankAccount + .Builder("CA", "CAD", "3423423432") + .build(); + private final HyperwalletStatusTransition statusTransition = + new HyperwalletStatusTransition(HyperwalletStatusTransition.StatusDefinition.DE_ACTIVATED); + @Rule + public MockitoRule mMockito = MockitoJUnit.rule(); @Mock private TransferMethodRepository mTransferMethodRepository; @Mock @@ -65,15 +73,6 @@ public class ListTransferMethodPresenterTest { private ArgumentCaptor> mListArgumentErrorCaptor; @Captor private ArgumentCaptor> mListArgumentTransferMethodCaptor; - @Rule - public MockitoRule mMockito = MockitoJUnit.rule(); - - private final HyperwalletErrors errors = createErrors(); - private final HyperwalletBankAccount bankAccount = new HyperwalletBankAccount - .Builder("CA", "CAD", "3423423432") - .build(); - private final HyperwalletStatusTransition statusTransition = - new HyperwalletStatusTransition(HyperwalletStatusTransition.StatusDefinition.DE_ACTIVATED); private ListTransferMethodPresenter presenter; @Before diff --git a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenterTest.java b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenterTest.java index 69bbc9d67..9a109230a 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenterTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/SelectTransferMethodPresenterTest.java @@ -13,10 +13,10 @@ import com.hyperwallet.android.model.HyperwalletError; import com.hyperwallet.android.model.HyperwalletErrors; -import com.hyperwallet.android.model.HyperwalletTransferMethod; -import com.hyperwallet.android.model.HyperwalletUser; -import com.hyperwallet.android.model.meta.HyperwalletTransferMethodConfigurationKey; -import com.hyperwallet.android.model.meta.keyed.HyperwalletTransferMethodConfigurationKeyResult; +import com.hyperwallet.android.model.graphql.HyperwalletTransferMethodConfigurationKey; +import com.hyperwallet.android.model.graphql.keyed.HyperwalletTransferMethodConfigurationKeyResult; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; +import com.hyperwallet.android.model.user.HyperwalletUser; import com.hyperwallet.android.ui.repository.TransferMethodConfigurationRepository; import com.hyperwallet.android.ui.repository.TransferMethodConfigurationRepositoryImpl; import com.hyperwallet.android.ui.repository.UserRepository; @@ -41,19 +41,18 @@ @RunWith(RobolectricTestRunner.class) public class SelectTransferMethodPresenterTest { + private final HyperwalletErrors errors = createErrors(); + @Rule + public HyperwalletExternalResourceManager externalResourceManager = new HyperwalletExternalResourceManager(); @Mock private SelectTransferMethodContract.View view; @Mock private TransferMethodConfigurationRepositoryImpl mTransferMethodConfigurationRepository; @Mock private UserRepositoryImpl mUserRepository; - @Rule - public HyperwalletExternalResourceManager externalResourceManager = new HyperwalletExternalResourceManager(); - private HyperwalletTransferMethodConfigurationKey mResult; private HyperwalletUser mUser; private SelectTransferMethodPresenter selectTransferMethodPresenter; - private final HyperwalletErrors errors = createErrors(); @Before public void initialize() throws Exception { diff --git a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtilsTest.java b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtilsTest.java index cdb6682c7..6d57d30ff 100644 --- a/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtilsTest.java +++ b/ui/src/test/java/com/hyperwallet/android/ui/transfermethod/TransferMethodUtilsTest.java @@ -9,13 +9,13 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; import android.content.Context; import android.content.res.Resources; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.ui.rule.HyperwalletExternalResourceManager; import org.json.JSONException; From 72180158944296f48af2f1b060b31d7b367cfadc Mon Sep 17 00:00:00 2001 From: azakrevska-epam Date: Tue, 28 May 2019 18:25:36 +0300 Subject: [PATCH 04/11] HW-53053. Changed publishing --- android-library.gradle | 107 ++++++++++++++++++ build.gradle | 77 ++++--------- common/build.gradle | 22 +--- receipt/build.gradle | 16 +-- receipt/config/jacoco-settings.gradle | 79 +++++++++++++ receipt/config/lint.xml | 7 ++ ui/build.gradle | 43 ++++--- .../transfermethod/ui/BankAccountTest.java | 4 +- .../transfermethod/ui/BankCardTest.java | 2 +- .../android/transfermethod/ui/PayPalTest.java | 2 +- .../ui/SelectTransferMethodTest.java | 8 +- 11 files changed, 255 insertions(+), 112 deletions(-) create mode 100644 android-library.gradle create mode 100644 receipt/config/jacoco-settings.gradle create mode 100644 receipt/config/lint.xml diff --git a/android-library.gradle b/android-library.gradle new file mode 100644 index 000000000..4f7107efe --- /dev/null +++ b/android-library.gradle @@ -0,0 +1,107 @@ +apply plugin: 'com.android.library' +apply plugin: 'maven-publish' +apply plugin: 'signing' +apply plugin: 'org.sonarqube' +apply from: "$projectDir/config/jacoco-settings.gradle" + +android { + compileSdkVersion compileVersion + defaultConfig { + minSdkVersion minVersion + targetSdkVersion targetVersion + versionCode codeVersion + versionName version + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + testInstrumentationRunnerArgument "listener", "com.squareup.leakcanary.FailTestOnLeakRunListener" + } + + sourceSets { + androidTest { + resources.srcDirs += ['src/test/resources'] + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + debug { + testCoverageEnabled true + } + } + + lintOptions { + abortOnError true + warningsAsErrors true + lintConfig file("config/lint.xml") + } +} + +task javadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + failOnError false +} + +task javadocsJar(type: Jar, dependsOn: javadocs) { + classifier = 'javadoc' + from javadocs.destinationDir +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.srcDirs +} + + +//android { +// compileSdkVersion compileVersion +// defaultConfig { +// minSdkVersion minVersion +// targetSdkVersion targetVersion +// versionCode codeVersion +// versionName version +// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" +// testInstrumentationRunnerArgument "listener", "com.squareup.leakcanary.FailTestOnLeakRunListener" +// } +// +// sourceSets { +// androidTest { +// resources.srcDirs += ['src/test/resources'] +// } +// } +// +// buildTypes { +// release { +// minifyEnabled false +// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' +// } +// debug { +// testCoverageEnabled true +// } +// } +// +// lintOptions { +// abortOnError true +// warningsAsErrors true +// lintConfig file("config/lint.xml") +// } +//} + +dependencies { + implementation "com.google.android.material:material:$androidMaterialVersion" + api "com.hyperwallet.android:core-sdk:$hyperwalletCoreVersion" + + implementation "androidx.test.espresso:espresso-idling-resource:$espressoVersion" + + androidTestImplementation "androidx.test.ext:junit:$extJunitVerson" + androidTestImplementation "androidx.test:runner:$testRunnerVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" + + testImplementation group: 'org.mockito', name: 'mockito-core', version: "$mockitoVersion" + testImplementation group: 'pl.pragmatists', name: 'JUnitParams', version: "$junitParamsVersion" +} + + + diff --git a/build.gradle b/build.gradle index b12a62454..1590d03dc 100644 --- a/build.gradle +++ b/build.gradle @@ -5,12 +5,12 @@ buildscript { google() jcenter() mavenLocal() - + } dependencies { classpath 'com.android.tools.build:gradle:3.3.2' classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7" - + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -21,7 +21,7 @@ allprojects { google() jcenter() mavenLocal() - + } project.version = "1.0.0-beta03-SNAPSHOT" @@ -31,57 +31,30 @@ subprojects { ext { hyperwalletGroupId = 'com.hyperwallet.android' - } - - apply plugin: 'com.android.library' - android { - compileSdkVersion 28 - defaultConfig { - minSdkVersion 21 - targetSdkVersion 28 - versionCode 1 - versionName version - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - testInstrumentationRunnerArgument "listener", "com.squareup.leakcanary.FailTestOnLeakRunListener" - } - - sourceSets { - androidTest { - resources.srcDirs += ['src/test/resources'] - } - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - debug { - testCoverageEnabled true - } - } - - lintOptions { - abortOnError true - warningsAsErrors true - lintConfig file("config/lint.xml") - } - } - - task javadocs(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) - failOnError false - } - - task javadocsJar(type: Jar, dependsOn: javadocs) { - classifier = 'javadoc' - from javadocs.destinationDir - } + compileVersion = 28 + minVersion = 21 + targetVersion = 28 + codeVersion = 1 - task sourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs + hyperwalletCoreVersion = '1.0.0-beta03-SNAPSHOT' + // + androidMaterialVersion = '1.0.0' + appcompatVersion = '1.0.2' + constraintlayoutVersion = '1.1.3' + legacySupportV4Version = '1.0.0' + recycleViewVersion = '1.0.0' + //Testing + extJunitVerson = '1.1.0' + testRunnerVersion = '1.1.1' + testRulesVersion = '1.1.1' + espressoVersion = '3.1.1' + mockServerVersion = '3.11.0' + leakcanaryVersion = '1.6.3' + mockitoVersion = '2.25.0' + junitParamsVersion = '1.1.1' + robolectricVersion = '4.1' + mockWebServerVersion = '3.11.0' } } diff --git a/common/build.gradle b/common/build.gradle index 73aebbc0f..c8f04ff7a 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,21 +1,4 @@ -apply plugin: 'com.android.library' -apply plugin: 'maven-publish' -apply plugin: 'signing' -apply plugin: 'org.sonarqube' -apply from: "$projectDir/config/jacoco-settings.gradle" - - -dependencies { - implementation "com.google.android.material:material:1.0.0" - implementation "androidx.test.espresso:espresso-idling-resource:3.1.1" - implementation "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" - androidTestImplementation "androidx.test.ext:junit:1.1.0" - androidTestImplementation "androidx.test:runner:1.1.1" - androidTestImplementation "androidx.test.espresso:espresso-core:3.1.1" - testImplementation group: 'org.mockito', name: 'mockito-core', version: "2.25.0" - testImplementation group: 'pl.pragmatists', name: 'JUnitParams', version: "1.1.1" -} - +apply from: "$rootProject.projectDir/android-library.gradle" sonarqube { properties { @@ -28,8 +11,7 @@ sonarqube { } - -def aarFile = file("$buildDir/outputs/aar/common-$version"+".aar") +def aarFile = file("$buildDir/outputs/aar/common-$version" + ".aar") def aarArtifact = artifacts.add('archives', aarFile) { type 'aar' } diff --git a/receipt/build.gradle b/receipt/build.gradle index 58ee632f6..23ea670d8 100644 --- a/receipt/build.gradle +++ b/receipt/build.gradle @@ -1,14 +1,10 @@ -apply plugin: 'com.android.library' -apply plugin: 'maven-publish' -apply plugin: 'signing' - +apply from: "$rootProject.projectDir/android-library.gradle" dependencies { - api "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" - project(":common") + api project(":common") } -def aarFile = file("$buildDir/outputs/aar/receipt-$version"+".aar") +def aarFile = file("$buildDir/outputs/aar/receipt-$version" + ".aar") def aarArtifact = artifacts.add('archives', aarFile) { type 'aar' } @@ -47,7 +43,11 @@ publishing { def dependenciesNode = asNode().appendNode('dependencies') configurations.implementation.allDependencies.each { def dependencyNode = dependenciesNode.appendNode('dependency') - dependencyNode.appendNode('groupId', it.group) + if (it.group == "hyperwallet-android-ui-sdk") { + dependencyNode.appendNode('groupId', "com.hyperwallet.android") + } else { + dependencyNode.appendNode('groupId', it.group) + } dependencyNode.appendNode('artifactId', it.name) dependencyNode.appendNode('version', it.version) } diff --git a/receipt/config/jacoco-settings.gradle b/receipt/config/jacoco-settings.gradle new file mode 100644 index 000000000..7ce61b7aa --- /dev/null +++ b/receipt/config/jacoco-settings.gradle @@ -0,0 +1,79 @@ +apply plugin: 'jacoco' + +final def jacocoVersion = "0.8.2" + +jacoco { + toolVersion = jacocoVersion +} + +android { + testOptions { + unitTests { + includeAndroidResources = true + returnDefaultValues = true + } + unitTests.all { + jacoco { + includeNoLocationClasses = true + } + } + } +} + +def fileFilter = ['**/BuildConfig.*'] + +def debugClassPaths = [ + '**/intermediates/javac/dev/*/classes/**' +] + +final def coverageSourceDirs = ["$project.projectDir/src/main/java/*"] + +task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') { + + group = 'Reporting' + description = 'Generate Jacoco coverage reports.' + + reports { + html { + enabled = true + destination file("$buildDir/reports/jacoco") + } + } + + classDirectories = fileTree( + dir: "${buildDir}", + includes: debugClassPaths, + excludes: fileFilter + ) + + additionalSourceDirs = files(coverageSourceDirs) + sourceDirectories = files(coverageSourceDirs) + executionData = files("${buildDir}/jacoco/testDevUnitTest.exec") +} + +task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: 'jacocoTestReport') { + + group = 'Verification' + classDirectories = fileTree( + dir: "${buildDir}", + includes: debugClassPaths, + excludes: fileFilter + ) + additionalSourceDirs = files(coverageSourceDirs) + sourceDirectories = files(coverageSourceDirs) + executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec") + + violationRules { + setFailOnViolation(true) + + rule { + element = 'CLASS' + limit { + value = 'COVEREDRATIO' + counter = 'BRANCH' + minimum = 0.65 + } + } + } +} + diff --git a/receipt/config/lint.xml b/receipt/config/lint.xml new file mode 100644 index 000000000..3c83d4bb5 --- /dev/null +++ b/receipt/config/lint.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/ui/build.gradle b/ui/build.gradle index 446865c12..d022e802a 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -1,40 +1,31 @@ -apply plugin: 'com.android.library' +apply from: "$rootProject.projectDir/android-library.gradle" apply plugin: 'maven-publish' apply plugin: 'signing' apply plugin: 'org.sonarqube' -apply from: "$projectDir/config/jacoco-settings.gradle" dependencies { - implementation "androidx.appcompat:appcompat:1.0.2" - implementation "com.google.android.material:material:1.0.0" - implementation "androidx.constraintlayout:constraintlayout:1.1.3" - implementation "androidx.legacy:legacy-support-v4:1.0.0" - implementation "androidx.recyclerview:recyclerview:1.0.0" + implementation "androidx.appcompat:appcompat:$appcompatVersion" + implementation "androidx.constraintlayout:constraintlayout:$constraintlayoutVersion" + implementation "androidx.legacy:legacy-support-v4:$legacySupportV4Version" + implementation "androidx.recyclerview:recyclerview:$recycleViewVersion" - api "com.hyperwallet.android:core-sdk:1.0.0-beta03-SNAPSHOT" api project(":common") api project(":receipt") - androidTestImplementation "androidx.test.ext:junit:1.1.0" - androidTestImplementation "androidx.test:runner:1.1.1" - androidTestImplementation "androidx.test:rules:1.1.1" - androidTestImplementation "androidx.test.espresso:espresso-core:3.1.1" - androidTestImplementation "androidx.test.espresso:espresso-contrib:3.1.1" - androidTestImplementation "androidx.test.espresso:espresso-intents:3.1.1" - androidTestImplementation "com.squareup.okhttp3:mockwebserver:3.11.0" - androidTestImplementation "com.squareup.leakcanary:leakcanary-android-instrumentation:1.6.3" - androidTestImplementation "com.squareup.leakcanary:leakcanary-support-fragment:1.6.3" - - testImplementation group: 'org.mockito', name: 'mockito-core', version: "2.25.0" - testImplementation group: 'pl.pragmatists', name: 'JUnitParams', version: "1.1.1" - testImplementation "org.robolectric:robolectric:4.1" - testImplementation "com.squareup.okhttp3:mockwebserver:3.11.0" + androidTestImplementation "androidx.test:rules:$testRulesVersion" + androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion" + androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion" + androidTestImplementation "com.squareup.okhttp3:mockwebserver:$mockServerVersion" + androidTestImplementation "com.squareup.leakcanary:leakcanary-android-instrumentation:$leakcanaryVersion" + androidTestImplementation "com.squareup.leakcanary:leakcanary-support-fragment:$leakcanaryVersion" + testImplementation "org.robolectric:robolectric:$robolectricVersion" + testImplementation "com.squareup.okhttp3:mockwebserver:$mockWebServerVersion" } -def aarFile = file("$buildDir/outputs/aar/ui-$version"+".aar") +def aarFile = file("$buildDir/outputs/aar/ui-$version" + ".aar") def aarArtifact = artifacts.add('archives', aarFile) { type 'aar' } @@ -73,7 +64,11 @@ publishing { def dependenciesNode = asNode().appendNode('dependencies') configurations.implementation.allDependencies.each { def dependencyNode = dependenciesNode.appendNode('dependency') - dependencyNode.appendNode('groupId', it.group) + if (it.group == "hyperwallet-android-ui-sdk") { + dependencyNode.appendNode('groupId', "com.hyperwallet.android") + } else { + dependencyNode.appendNode('groupId', it.group) + } dependencyNode.appendNode('artifactId', it.name) dependencyNode.appendNode('version', it.version) } diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java index ad6fe81d3..68df5d983 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankAccountTest.java @@ -25,7 +25,7 @@ import static java.net.HttpURLConnection.HTTP_OK; import static java.util.concurrent.TimeUnit.SECONDS; -import static com.hyperwallet.android.model.HyperwalletBankAccount.Purpose.SAVINGS; +import static com.hyperwallet.android.model.transfermethod.HyperwalletBankAccount.Purpose.SAVINGS; import static com.hyperwallet.android.util.EspressoUtils.hasEmptyText; import static com.hyperwallet.android.util.EspressoUtils.hasErrorText; import static com.hyperwallet.android.util.EspressoUtils.nestedScrollTo; @@ -48,7 +48,7 @@ import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java index 71c638001..859723e25 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/BankCardTest.java @@ -43,7 +43,7 @@ import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java index 4df46ee51..a24fbab78 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/PayPalTest.java @@ -45,7 +45,7 @@ import com.hyperwallet.android.Hyperwallet; import com.hyperwallet.android.common.util.EspressoIdlingResource; import com.hyperwallet.android.hyperwallet_ui.R; -import com.hyperwallet.android.model.HyperwalletTransferMethod; +import com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod; import com.hyperwallet.android.rule.HyperwalletExternalResourceManager; import com.hyperwallet.android.rule.HyperwalletMockWebServer; import com.hyperwallet.android.ui.repository.RepositoryFactory; diff --git a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java index ec314cf3e..c644703cd 100644 --- a/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java +++ b/ui/src/androidTest/java/com/hyperwallet/android/transfermethod/ui/SelectTransferMethodTest.java @@ -21,10 +21,10 @@ import static java.net.HttpURLConnection.HTTP_OK; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; -import static com.hyperwallet.android.model.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; -import static com.hyperwallet.android.model.HyperwalletUser.ProfileTypes.BUSINESS; -import static com.hyperwallet.android.model.HyperwalletUser.ProfileTypes.INDIVIDUAL; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT; +import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD; +import static com.hyperwallet.android.model.user.HyperwalletUser.ProfileTypes.BUSINESS; +import static com.hyperwallet.android.model.user.HyperwalletUser.ProfileTypes.INDIVIDUAL; import static com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity.EXTRA_TRANSFER_METHOD_COUNTRY; import static com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity.EXTRA_TRANSFER_METHOD_CURRENCY; import static com.hyperwallet.android.ui.transfermethod.AddTransferMethodActivity.EXTRA_TRANSFER_METHOD_PROFILE_TYPE; From ad0970ed6245554a79513e4a1c3257dce7b169de Mon Sep 17 00:00:00 2001 From: Flavio Mattos Date: Tue, 28 May 2019 13:43:44 -0700 Subject: [PATCH 05/11] Remove comments and unnecessary plugin usages --- android-library.gradle | 35 ----------------------------------- ui/build.gradle | 3 --- 2 files changed, 38 deletions(-) diff --git a/android-library.gradle b/android-library.gradle index 4f7107efe..620173287 100644 --- a/android-library.gradle +++ b/android-library.gradle @@ -54,41 +54,6 @@ task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs } - -//android { -// compileSdkVersion compileVersion -// defaultConfig { -// minSdkVersion minVersion -// targetSdkVersion targetVersion -// versionCode codeVersion -// versionName version -// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" -// testInstrumentationRunnerArgument "listener", "com.squareup.leakcanary.FailTestOnLeakRunListener" -// } -// -// sourceSets { -// androidTest { -// resources.srcDirs += ['src/test/resources'] -// } -// } -// -// buildTypes { -// release { -// minifyEnabled false -// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' -// } -// debug { -// testCoverageEnabled true -// } -// } -// -// lintOptions { -// abortOnError true -// warningsAsErrors true -// lintConfig file("config/lint.xml") -// } -//} - dependencies { implementation "com.google.android.material:material:$androidMaterialVersion" api "com.hyperwallet.android:core-sdk:$hyperwalletCoreVersion" diff --git a/ui/build.gradle b/ui/build.gradle index d022e802a..9f023604b 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -1,7 +1,4 @@ apply from: "$rootProject.projectDir/android-library.gradle" -apply plugin: 'maven-publish' -apply plugin: 'signing' -apply plugin: 'org.sonarqube' dependencies { From 6a9b6b2d3925f2a2c7e6601ed323c016ff438aac Mon Sep 17 00:00:00 2001 From: Flavio Mattos Date: Tue, 28 May 2019 14:10:31 -0700 Subject: [PATCH 06/11] move sonar config --- common/build.gradle | 20 ++++++++++---------- receipt/build.gradle | 10 ++++++++++ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/common/build.gradle b/common/build.gradle index c8f04ff7a..e4df818b5 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,15 +1,5 @@ apply from: "$rootProject.projectDir/android-library.gradle" -sonarqube { - properties { - def libraries = project.android.sdkDirectory.getPath() + "/platforms/android-28/android.jar" - property "sonar.sources", "src/main/java" - property "sonar.binaries", "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/hyperwallet/android" - property "sonar.libraries", libraries - property "sonar.projectName", "android-ui-sdk-common" - } -} - def aarFile = file("$buildDir/outputs/aar/common-$version" + ".aar") def aarArtifact = artifacts.add('archives', aarFile) { @@ -85,4 +75,14 @@ tasks.withType(Sign) { signing { sign publishing.publications.hyperwalletCommonUi +} + +sonarqube { + properties { + def libraries = project.android.sdkDirectory.getPath() + "/platforms/android-28/android.jar" + property "sonar.sources", "src/main/java" + property "sonar.binaries", "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/hyperwallet/android" + property "sonar.libraries", libraries + property "sonar.projectName", "android-ui-sdk-common" + } } \ No newline at end of file diff --git a/receipt/build.gradle b/receipt/build.gradle index 23ea670d8..39c963b04 100644 --- a/receipt/build.gradle +++ b/receipt/build.gradle @@ -82,4 +82,14 @@ tasks.withType(Sign) { signing { sign publishing.publications.hyperwalletReceiptUi +} + +sonarqube { + properties { + def libraries = project.android.sdkDirectory.getPath() + "/platforms/android-28/android.jar" + property "sonar.sources", "src/main/java" + property "sonar.binaries", "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/hyperwallet/android" + property "sonar.libraries", libraries + property "sonar.projectName", "android-ui-sdk-receipt" + } } \ No newline at end of file From 89d922e74b087d5cbb9849c3b79c9e9d4353db45 Mon Sep 17 00:00:00 2001 From: azakrevska-epam Date: Wed, 29 May 2019 18:12:59 +0300 Subject: [PATCH 07/11] HW-53053. Moved font, styles, colors to common module --- .../src/main/res/drawable/circle.xml | 0 .../src/main/res/drawable/circle_white.xml | 0 .../res/drawable/content_border_bottom.xml | 0 .../drawable/content_border_top_bottom.xml | 0 .../main/res/drawable/horizontal_divider.xml | 0 .../drawable/ic_baseline_bug_report_24px.xml | 0 .../drawable/ic_baseline_cloud_off_24px.xml | 0 .../res/drawable/ic_baseline_warning_24px.xml | 0 .../src/main/res/drawable/ic_check_14dp.xml | 0 .../src/main/res/drawable/ic_close_14dp.xml | 0 .../drawable/ic_keyboard_arrow_down_12dp.xml | 0 .../drawable/ic_keyboard_arrow_left_12dp.xml | 0 .../drawable/ic_keyboard_arrow_right_12dp.xml | 0 .../res/drawable/ic_launcher_background.xml | 0 .../main/res/drawable/ic_placeholder_24dp.xml | 0 .../src/main/res/drawable/ic_search_24dp.xml | 0 .../main/res/drawable/ic_three_dots_16dp.xml | 0 .../src/main/res/drawable/ic_trash.xml | 0 {ui => common}/src/main/res/drawable/oval.xml | 0 .../res/drawable/view_border_top_bottom.xml | 0 {ui => common}/src/main/res/font/icomoon.ttf | Bin {ui => common}/src/main/res/values/dimens.xml | 0 common/src/main/res/values/styles.xml | 209 +++++++++++++++-- ui/src/main/res/values/colors.xml | 27 --- ui/src/main/res/values/styles.xml | 219 +----------------- 25 files changed, 196 insertions(+), 259 deletions(-) rename {ui => common}/src/main/res/drawable/circle.xml (100%) rename {ui => common}/src/main/res/drawable/circle_white.xml (100%) rename {ui => common}/src/main/res/drawable/content_border_bottom.xml (100%) rename {ui => common}/src/main/res/drawable/content_border_top_bottom.xml (100%) rename {ui => common}/src/main/res/drawable/horizontal_divider.xml (100%) rename {ui => common}/src/main/res/drawable/ic_baseline_bug_report_24px.xml (100%) rename {ui => common}/src/main/res/drawable/ic_baseline_cloud_off_24px.xml (100%) rename {ui => common}/src/main/res/drawable/ic_baseline_warning_24px.xml (100%) rename {ui => common}/src/main/res/drawable/ic_check_14dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_close_14dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_keyboard_arrow_down_12dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_keyboard_arrow_left_12dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_keyboard_arrow_right_12dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_launcher_background.xml (100%) rename {ui => common}/src/main/res/drawable/ic_placeholder_24dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_search_24dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_three_dots_16dp.xml (100%) rename {ui => common}/src/main/res/drawable/ic_trash.xml (100%) rename {ui => common}/src/main/res/drawable/oval.xml (100%) rename {ui => common}/src/main/res/drawable/view_border_top_bottom.xml (100%) rename {ui => common}/src/main/res/font/icomoon.ttf (100%) mode change 100755 => 100644 rename {ui => common}/src/main/res/values/dimens.xml (100%) delete mode 100644 ui/src/main/res/values/colors.xml diff --git a/ui/src/main/res/drawable/circle.xml b/common/src/main/res/drawable/circle.xml similarity index 100% rename from ui/src/main/res/drawable/circle.xml rename to common/src/main/res/drawable/circle.xml diff --git a/ui/src/main/res/drawable/circle_white.xml b/common/src/main/res/drawable/circle_white.xml similarity index 100% rename from ui/src/main/res/drawable/circle_white.xml rename to common/src/main/res/drawable/circle_white.xml diff --git a/ui/src/main/res/drawable/content_border_bottom.xml b/common/src/main/res/drawable/content_border_bottom.xml similarity index 100% rename from ui/src/main/res/drawable/content_border_bottom.xml rename to common/src/main/res/drawable/content_border_bottom.xml diff --git a/ui/src/main/res/drawable/content_border_top_bottom.xml b/common/src/main/res/drawable/content_border_top_bottom.xml similarity index 100% rename from ui/src/main/res/drawable/content_border_top_bottom.xml rename to common/src/main/res/drawable/content_border_top_bottom.xml diff --git a/ui/src/main/res/drawable/horizontal_divider.xml b/common/src/main/res/drawable/horizontal_divider.xml similarity index 100% rename from ui/src/main/res/drawable/horizontal_divider.xml rename to common/src/main/res/drawable/horizontal_divider.xml diff --git a/ui/src/main/res/drawable/ic_baseline_bug_report_24px.xml b/common/src/main/res/drawable/ic_baseline_bug_report_24px.xml similarity index 100% rename from ui/src/main/res/drawable/ic_baseline_bug_report_24px.xml rename to common/src/main/res/drawable/ic_baseline_bug_report_24px.xml diff --git a/ui/src/main/res/drawable/ic_baseline_cloud_off_24px.xml b/common/src/main/res/drawable/ic_baseline_cloud_off_24px.xml similarity index 100% rename from ui/src/main/res/drawable/ic_baseline_cloud_off_24px.xml rename to common/src/main/res/drawable/ic_baseline_cloud_off_24px.xml diff --git a/ui/src/main/res/drawable/ic_baseline_warning_24px.xml b/common/src/main/res/drawable/ic_baseline_warning_24px.xml similarity index 100% rename from ui/src/main/res/drawable/ic_baseline_warning_24px.xml rename to common/src/main/res/drawable/ic_baseline_warning_24px.xml diff --git a/ui/src/main/res/drawable/ic_check_14dp.xml b/common/src/main/res/drawable/ic_check_14dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_check_14dp.xml rename to common/src/main/res/drawable/ic_check_14dp.xml diff --git a/ui/src/main/res/drawable/ic_close_14dp.xml b/common/src/main/res/drawable/ic_close_14dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_close_14dp.xml rename to common/src/main/res/drawable/ic_close_14dp.xml diff --git a/ui/src/main/res/drawable/ic_keyboard_arrow_down_12dp.xml b/common/src/main/res/drawable/ic_keyboard_arrow_down_12dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_keyboard_arrow_down_12dp.xml rename to common/src/main/res/drawable/ic_keyboard_arrow_down_12dp.xml diff --git a/ui/src/main/res/drawable/ic_keyboard_arrow_left_12dp.xml b/common/src/main/res/drawable/ic_keyboard_arrow_left_12dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_keyboard_arrow_left_12dp.xml rename to common/src/main/res/drawable/ic_keyboard_arrow_left_12dp.xml diff --git a/ui/src/main/res/drawable/ic_keyboard_arrow_right_12dp.xml b/common/src/main/res/drawable/ic_keyboard_arrow_right_12dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_keyboard_arrow_right_12dp.xml rename to common/src/main/res/drawable/ic_keyboard_arrow_right_12dp.xml diff --git a/ui/src/main/res/drawable/ic_launcher_background.xml b/common/src/main/res/drawable/ic_launcher_background.xml similarity index 100% rename from ui/src/main/res/drawable/ic_launcher_background.xml rename to common/src/main/res/drawable/ic_launcher_background.xml diff --git a/ui/src/main/res/drawable/ic_placeholder_24dp.xml b/common/src/main/res/drawable/ic_placeholder_24dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_placeholder_24dp.xml rename to common/src/main/res/drawable/ic_placeholder_24dp.xml diff --git a/ui/src/main/res/drawable/ic_search_24dp.xml b/common/src/main/res/drawable/ic_search_24dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_search_24dp.xml rename to common/src/main/res/drawable/ic_search_24dp.xml diff --git a/ui/src/main/res/drawable/ic_three_dots_16dp.xml b/common/src/main/res/drawable/ic_three_dots_16dp.xml similarity index 100% rename from ui/src/main/res/drawable/ic_three_dots_16dp.xml rename to common/src/main/res/drawable/ic_three_dots_16dp.xml diff --git a/ui/src/main/res/drawable/ic_trash.xml b/common/src/main/res/drawable/ic_trash.xml similarity index 100% rename from ui/src/main/res/drawable/ic_trash.xml rename to common/src/main/res/drawable/ic_trash.xml diff --git a/ui/src/main/res/drawable/oval.xml b/common/src/main/res/drawable/oval.xml similarity index 100% rename from ui/src/main/res/drawable/oval.xml rename to common/src/main/res/drawable/oval.xml diff --git a/ui/src/main/res/drawable/view_border_top_bottom.xml b/common/src/main/res/drawable/view_border_top_bottom.xml similarity index 100% rename from ui/src/main/res/drawable/view_border_top_bottom.xml rename to common/src/main/res/drawable/view_border_top_bottom.xml diff --git a/ui/src/main/res/font/icomoon.ttf b/common/src/main/res/font/icomoon.ttf old mode 100755 new mode 100644 similarity index 100% rename from ui/src/main/res/font/icomoon.ttf rename to common/src/main/res/font/icomoon.ttf diff --git a/ui/src/main/res/values/dimens.xml b/common/src/main/res/values/dimens.xml similarity index 100% rename from ui/src/main/res/values/dimens.xml rename to common/src/main/res/values/dimens.xml diff --git a/common/src/main/res/values/styles.xml b/common/src/main/res/values/styles.xml index 3ed39557b..7bf6e014c 100644 --- a/common/src/main/res/values/styles.xml +++ b/common/src/main/res/values/styles.xml @@ -1,21 +1,167 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + - \ No newline at end of file diff --git a/ui/src/main/res/values/colors.xml b/ui/src/main/res/values/colors.xml deleted file mode 100644 index 2d8989b26..000000000 --- a/ui/src/main/res/values/colors.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - #007F9F - #00AFD0 - #60E1FF - #E1F6FA - - - #666666 - #C4C4C4 - #E0E0E0 - #EFEFF4 - #DBDBDB - #ACACAC - #F7F7F7 - - - #FFFFFF - #000000 - - #DB4437 - - - #E5F7FA - - diff --git a/ui/src/main/res/values/styles.xml b/ui/src/main/res/values/styles.xml index 73072e176..e5448bfce 100644 --- a/ui/src/main/res/values/styles.xml +++ b/ui/src/main/res/values/styles.xml @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 57121d4c73034c25e1f0db9db2dfa8307b679c98 Mon Sep 17 00:00:00 2001 From: azakrevska-epam Date: Thu, 30 May 2019 11:24:25 +0300 Subject: [PATCH 08/11] HW-53053. Fixed moved style --- common/src/main/res/values/styles.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/src/main/res/values/styles.xml b/common/src/main/res/values/styles.xml index 7bf6e014c..dbf679843 100644 --- a/common/src/main/res/values/styles.xml +++ b/common/src/main/res/values/styles.xml @@ -226,6 +226,12 @@ @color/colorSecondaryDark normal + + From 16bce8652816a7a408ad62771cc78dd57f4ceb6f Mon Sep 17 00:00:00 2001 From: azakrevska-epam Date: Thu, 30 May 2019 11:51:38 +0300 Subject: [PATCH 09/11] HW-53053. Updated lint (added exceptions for overdraw) --- common/src/main/res/values/styles.xml | 44 +++++++++---------- ui/config/lint.xml | 2 + .../hyperwallet/android/ui/HyperwalletUi.java | 4 +- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/common/src/main/res/values/styles.xml b/common/src/main/res/values/styles.xml index dbf679843..8221087b3 100644 --- a/common/src/main/res/values/styles.xml +++ b/common/src/main/res/values/styles.xml @@ -182,37 +182,37 @@