From 2b942abfde55660c50515c40723c510a7131ea77 Mon Sep 17 00:00:00 2001 From: therajanmaurya Date: Wed, 13 Jun 2018 14:57:41 +0530 Subject: [PATCH 1/2] Chore: Update Build tools and gradle depedencies compile to implementation etc --- gradle/wrapper/gradle-wrapper.properties | 2 +- mifosng-android/build.gradle | 122 ++++++++++------------- 2 files changed, 53 insertions(+), 71 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b31aa83a56e..8fbcf110627 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip diff --git a/mifosng-android/build.gradle b/mifosng-android/build.gradle index 0c406c1f63b..06f46d87b4e 100755 --- a/mifosng-android/build.gradle +++ b/mifosng-android/build.gradle @@ -5,19 +5,20 @@ buildscript { repositories { + google() mavenCentral() maven { url 'https://maven.fabric.io/public' } jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:3.1.2' classpath 'io.fabric.tools:gradle:1.+' - classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' - classpath 'com.github.triplet.gradle:play-publisher:1.1.4' + classpath 'com.github.triplet.gradle:play-publisher:1.1.5' } } repositories { + google() mavenCentral() maven { url 'https://maven.fabric.io/public' } jcenter() @@ -29,7 +30,6 @@ repositories { apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply from: '../config/quality/quality.gradle' -apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'com.github.triplet.play' android { @@ -45,6 +45,8 @@ android { // A test runner provided by https://code.google.com/p/android-test-kit/ testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true + + ndk { abiFilters "armeabi-v7a", "x86" } } sourceSets { @@ -116,26 +118,6 @@ android { events 'passed', 'skipped', 'failed', 'standardOut', 'standardError' } } - - splits { - abi { - enable true - reset() - include 'arm64-v8a', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'x86', 'x86_64' - universalApk false - } - } -} -ext.abiCodes = ['arm64-v8a':'1', 'armeabi':'2', 'armeabi-v7a':'3', 'mips':'4', 'mips64':'5', - 'x86':'6', 'x86_64':'7'] -import com.android.build.OutputFile -android.applicationVariants.all { variant -> - variant.outputs.each { output -> - def baseVersionCode = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI)) - if (baseVersionCode != null) { - output.versionCodeOverride = Integer.valueOf(baseVersionCode + variant.versionCode) - } - } } task buildAndEMailAPK(type: Exec, description: 'Builds and Generates a Signed APK and emails it') { @@ -153,87 +135,87 @@ tasks.withType(JavaCompile) { } dependencies { - compile 'com.android.support:multidex:1.0.1' + implementation 'com.android.support:multidex:1.0.1' // You must install or update the Support Repository through the SDK manager to use this dependency. - compile fileTree(dir: 'src/main/libs', include: ['*.jar']) + implementation fileTree(dir: 'src/main/libs', include: ['*.jar']) //DBFlow dependencies - apt "com.github.Raizlabs.DBFlow:dbflow-processor:$rootProject.raizLabsDBFlow" - compile "com.github.Raizlabs.DBFlow:dbflow-core:$rootProject.raizLabsDBFlow" - compile "com.github.Raizlabs.DBFlow:dbflow:$rootProject.raizLabsDBFlow" + annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:$rootProject.raizLabsDBFlow" + implementation "com.github.Raizlabs.DBFlow:dbflow-core:$rootProject.raizLabsDBFlow" + implementation "com.github.Raizlabs.DBFlow:dbflow:$rootProject.raizLabsDBFlow" // App's Support dependencies, including test - compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion" - compile "com.android.support:support-v4:$rootProject.supportLibraryVersion" - compile "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion" - compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion" - compile "com.android.support:design:$rootProject.supportLibraryVersion" - compile "com.google.android.gms:play-services-places:$rootProject.playServicesVersion" - compile "com.google.android.gms:play-services-location:$rootProject.playServicesVersion" - compile "com.google.android.gms:play-services-maps:$rootProject.playServicesVersion" - compile "com.google.maps.android:android-maps-utils:$rootProject.mapUtilsServices" - compile "com.android.support.test.espresso:espresso-idling-resource:$rootProject.espressoVersion" + implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion" + implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion" + implementation "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion" + implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion" + implementation "com.android.support:design:$rootProject.supportLibraryVersion" + implementation "com.google.android.gms:play-services-places:$rootProject.playServicesVersion" + implementation "com.google.android.gms:play-services-location:$rootProject.playServicesVersion" + implementation "com.google.android.gms:play-services-maps:$rootProject.playServicesVersion" + implementation "com.google.maps.android:android-maps-utils:$rootProject.mapUtilsServices" + implementation "com.android.support.test.espresso:espresso-idling-resource:$rootProject.espressoVersion" //Dagger dependencies - apt "com.google.dagger:dagger-compiler:$rootProject.daggerVersion" - compile "com.google.dagger:dagger:$rootProject.daggerVersion" - provided 'javax.annotation:jsr250-api:1.0' //Required by Dagger2 + annotationProcessor "com.google.dagger:dagger-compiler:$rootProject.daggerVersion" + implementation "com.google.dagger:dagger:$rootProject.daggerVersion" + compileOnly 'javax.annotation:jsr250-api:1.0' //Required by Dagger2 //Butter Knife - compile "com.jakewharton:butterknife:$rootProject.butterKnifeVersion" - apt "com.jakewharton:butterknife-compiler:$rootProject.butterKnifeVersion" + implementation "com.jakewharton:butterknife:$rootProject.butterKnifeVersion" + annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.butterKnifeVersion" //Square dependencies - compile ('com.squareup.retrofit2:retrofit:$rootProject.retrofitVersionLatest') { + implementation ('com.squareup.retrofit2:retrofit:$rootProject.retrofitVersionLatest') { // exclude Retrofit’s OkHttp peer-dependency module and define your own module import exclude module: 'okhttp' } - compile "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersionLatest" - compile "com.squareup.retrofit2:converter-scalars:$rootProject.retrofitVersionLatest" - compile "com.squareup.retrofit2:adapter-rxjava:$rootProject.retrofitVersionLatest" - compile "com.squareup.okhttp3:okhttp:$rootProject.okHttp3Version" - compile "com.squareup.okhttp3:logging-interceptor:$rootProject.okHttp3Version" - compile "com.jakewharton.fliptables:fliptables:$rootProject.flipTableVersion" - compile 'com.github.therajanmaurya:Sweet-Error:1.0.0' - compile 'javax.annotation:jsr250-api:1.0@jar' + implementation "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersionLatest" + implementation "com.squareup.retrofit2:converter-scalars:$rootProject.retrofitVersionLatest" + implementation "com.squareup.retrofit2:adapter-rxjava:$rootProject.retrofitVersionLatest" + implementation "com.squareup.okhttp3:okhttp:$rootProject.okHttp3Version" + implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.okHttp3Version" + implementation "com.jakewharton.fliptables:fliptables:$rootProject.flipTableVersion" + implementation 'com.github.therajanmaurya:Sweet-Error:1.0.0' + implementation 'javax.annotation:jsr250-api:1.0@jar' - compile 'io.reactivex:rxandroid:1.1.0' - compile 'io.reactivex:rxjava:1.1.4' + implementation 'io.reactivex:rxandroid:1.1.0' + implementation 'io.reactivex:rxjava:1.1.4' - compile 'com.facebook.stetho:stetho:1.3.1' - compile 'com.facebook.stetho:stetho-okhttp3:1.3.1' + implementation 'com.facebook.stetho:stetho:1.3.1' + implementation 'com.facebook.stetho:stetho-okhttp3:1.3.1' - compile 'com.joanzapata.iconify:android-iconify-material:2.1.1' // (v2.0.0) - compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') { - transitive = true; + implementation 'com.joanzapata.iconify:android-iconify-material:2.1.1' // (v2.0.0) + implementation('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') { + transitive = true } - compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' - compile 'com.github.bumptech.glide:glide:3.7.0' + implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' + implementation 'com.github.bumptech.glide:glide:3.7.0' //mifos passcode - compile "com.mifos.mobile:mifos-passcode:$mifosPasscodeVersion" + implementation "com.mifos.mobile:mifos-passcode:$mifosPasscodeVersion" // Android Testing Support Library's runner and rules - androidTestCompile "com.android.support.test:runner:$rootProject.runnerVersion" - androidTestCompile "com.android.support.test:rules:$rootProject.rulesVersion" + androidTestImplementation "com.android.support.test:runner:$rootProject.runnerVersion" + androidTestImplementation "com.android.support.test:rules:$rootProject.rulesVersion" // Espresso UI Testing dependencies. - androidTestCompile "com.android.support.test.espresso:espresso-core:2.2.2" - androidTestCompile("com.android.support.test.espresso:espresso-contrib:$rootProject.espressoVersion") { + androidTestImplementation "com.android.support.test.espresso:espresso-core:2.2.2" + androidTestImplementation("com.android.support.test.espresso:espresso-contrib:$rootProject.espressoVersion") { exclude group: 'com.android.support', module: 'appcompat' exclude group: 'com.android.support', module: 'support-v4' exclude group: 'com.android.support', module: 'recyclerview-v7' exclude group: 'com.android.support', module: 'design' } - androidTestCompile "com.android.support.test.espresso:espresso-intents:$rootProject.espressoVersion" + androidTestImplementation "com.android.support.test.espresso:espresso-intents:$rootProject.espressoVersion" - testCompile 'junit:junit:4.12' - testCompile 'org.mockito:mockito-core:1.10.19' + testImplementation 'junit:junit:4.12' + testImplementation 'org.mockito:mockito-core:1.10.19' } /* From e61b4164c59342708ada3ad653fb98d0ec9c0f4a Mon Sep 17 00:00:00 2001 From: therajanmaurya Date: Wed, 13 Jun 2018 15:27:56 +0530 Subject: [PATCH 2/2] Fix: PMD error --- .../mifos/mifosxdroid/tests/action/NavigationViewActions.java | 2 +- .../online/loanaccountsummary/LoanAccountSummaryFragment.java | 2 +- .../java/com/mifos/objects/accounts/savings/SavingsAccount.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mifosng-android/src/instrumentTest/java/com/mifos/mifosxdroid/tests/action/NavigationViewActions.java b/mifosng-android/src/instrumentTest/java/com/mifos/mifosxdroid/tests/action/NavigationViewActions.java index b96baccd2ae..c66f7fb0026 100644 --- a/mifosng-android/src/instrumentTest/java/com/mifos/mifosxdroid/tests/action/NavigationViewActions.java +++ b/mifosng-android/src/instrumentTest/java/com/mifos/mifosxdroid/tests/action/NavigationViewActions.java @@ -82,7 +82,7 @@ public void perform(UiController uiController, View view) { private String getErrorMessage(Menu menu, View view) { String NEW_LINE = System.getProperty("line.separator"); - StringBuilder errorMessage = new StringBuilder(20) + StringBuilder errorMessage = new StringBuilder(66) .append("Menu item was not found, available menu items:") .append(NEW_LINE); for (int position = 0; position < menu.size(); position++) { diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/loanaccountsummary/LoanAccountSummaryFragment.java b/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/loanaccountsummary/LoanAccountSummaryFragment.java index e9920e59f12..b3022b9af9e 100755 --- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/loanaccountsummary/LoanAccountSummaryFragment.java +++ b/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/loanaccountsummary/LoanAccountSummaryFragment.java @@ -373,7 +373,7 @@ public void loadLoanDataTables() { FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager() .beginTransaction(); fragmentTransaction.addToBackStack(FragmentConstants.FRAG_LOAN_ACCOUNT_SUMMARY); - fragmentTransaction.replace(R.id.container, loanAccountFragment); + fragmentTransaction.replace(container, loanAccountFragment); fragmentTransaction.commit(); } diff --git a/mifosng-android/src/main/java/com/mifos/objects/accounts/savings/SavingsAccount.java b/mifosng-android/src/main/java/com/mifos/objects/accounts/savings/SavingsAccount.java index f125e7bd1c7..1de6e897b30 100755 --- a/mifosng-android/src/main/java/com/mifos/objects/accounts/savings/SavingsAccount.java +++ b/mifosng-android/src/main/java/com/mifos/objects/accounts/savings/SavingsAccount.java @@ -195,7 +195,7 @@ public void setDepositType(DepositType depositType) { } public boolean isRecurring() { - return this.getDepositType() == null ? false : this.getDepositType().isRecurring(); + return this.getDepositType() != null && this.getDepositType().isRecurring(); } @Override