diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 4bb48f6f3fc..00000000000 --- a/build.gradle +++ /dev/null @@ -1,135 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -task clean(type: Delete) { - delete rootProject.buildDir -} - -// Define versions in a single place -ext { - // Sdk and tools - minSdkVersion = 26 - targetSdkVersion = 33 - compileSdkVersion = 33 - buildToolsVersion = '28.0.3' - - // App dependencies - supportLibraryVersion = '27.1.1' - playServicesPlacesVersion = '17.0.0' - playServicesLocationsVersion = '21.0.1' - playServicesMapsVersion = '18.1.0' - mapUtilsServicesVersion = '0.4.2' - - // dagger version - daggerVersion = '2.46.1' - daggerCompilerVersion = '2.2' - - //DBFlow version - raizLabsDBFlowVersion = '3.1.1' - raizLabsDBFlowProcessorVersion = '4.2.4' - - // espresso version - espressoVersion = '2.2.2' - espressoidlingVersion = '3.5.1' - espressoVersion = '3.5.1' - - // Android Testing version - runnerVersion = '0.4.1' - rulesVersion = '0.4.1' - - //retrofit version - retrofitVersionLatest = '2.9.0' - - //okHttp version - okHttp3Version = '4.11.0' - okHttp3MainVersion = '4.9.2' - - // flipTable version - flipTableVersion = '1.0.1' - - //mifos passcode version - mifosPasscodeVersion = '1.0.0' - - //preference version - preferenceVersion = '1.2.0' - - //Junit version - jUnitVersion = '4.13.2' - - // mockito version - mockitoVersion = '5.5.0' - - //jsr version - jsrVersion = '1.0' - - // Multidex version - multidexVersion = '2.0.1' - - // Text drawable version - amulyakhareVersion = '558677ea31' - - // design library version - designLibraryVersion = '1.9.0' - - // lifecycle version - lifecycleVersion = '2.6.1' - lifecycleExtensionsVersion = '2.2.0' - - // rxJava version - rxjavaVersion = '1.3.8' - rxandroidVersion = '1.1.0' - - // appcompat version - supportLibraryVersion = '1.6.1' - legacySupportVersion = '1.0.0' - - // recyclerView version - recyclerViewVersion = '1.3.1' - - // sweet error version - sweeterrorVersion = '1.0.9' - - // stetho version - stethoVersion = '1.3.1' - - //showcaseView version - ShowcaseViewVersion = '1.3.7' - - // iconify version - iconifyVersion = '2.2.2' - - // glide version - glideVersion = '4.15.1' - - //crashlytics version - crashlyticsVersion = '2.10.1@aar' - - // android test runner version - androidTestRunnerVersion = '1.5.2' - androidTestRuleVersion = '1.5.0' - - //jUnit jupiter - junitJupiterVersion = '5.7.2' - - // annotation version - annotationLibraryVersion = '1.6.0' - - // android job version - androidJobVersion = '1.2.6' - - // splashscreen version - splashscreenVersion = '1.1.0-alpha01' - - //navigation components version - navigationComponentsVersion = '2.6.0' - - // hiltVersion - hiltVersion = '2.44' - - // fineract sdk - sdkVersion = '1.06' - - // sdk client - clientVersion = '2.0.3' - - // arch core testing - archCoreVersion = '2.2.0' -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000000..eedfe60a182 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,9 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + id("com.android.application") version "8.1.2" apply false + id("org.jetbrains.kotlin.android") version "1.8.20" apply false + id("com.google.dagger.hilt.android") version "2.44" apply false + id("com.android.library") version "8.1.2" apply false + id("org.jetbrains.kotlin.plugin.serialization") version "1.5.21" apply false + id("androidx.navigation.safeargs") version "2.6.0" apply false +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aba097b0691..f5011f20042 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Fri Feb 02 11:29:16 IST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/mifosng-android/build.gradle b/mifosng-android/build.gradle deleted file mode 100755 index fbcb97182cd..00000000000 --- a/mifosng-android/build.gradle +++ /dev/null @@ -1,301 +0,0 @@ -/* - * This project is licensed under the open source MPL V2. - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ - -buildscript { - ext.kotlin_version = "1.8.20" - repositories { - google() - mavenCentral() - maven { url 'https://maven.fabric.io/public' } - maven { url "https://jitpack.io" } - maven { url "https://plugins.gradle.org/m2/" } - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - classpath 'io.fabric.tools:gradle:1.31.0' - classpath 'com.github.triplet.gradle:play-publisher:1.1.5' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" - classpath "com.github.spotbugs.snom:spotbugs-gradle-plugin:5.0.14" - classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.6.0" - classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44' - } -} - -repositories { - google() - mavenCentral() - maven { url 'https://maven.fabric.io/public' } - jcenter() - maven { url "https://maven.google.com" } - maven { url "https://jitpack.io" } -} - -apply plugin: 'com.android.application' -apply plugin: 'io.fabric' -apply from: '../config/quality/quality.gradle' -apply plugin: 'com.github.triplet.play' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-parcelize' -apply plugin: 'androidx.navigation.safeargs.kotlin' -apply plugin: 'com.google.dagger.hilt.android' - -android { - compileSdkVersion rootProject.ext.compileSdkVersion - - defaultConfig { - multiDexEnabled true - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 6 - versionName "1.0.1" - compileSdkPreview = "UpsideDownCake" - // A test runner provided by https://code.google.com/p/android-test-kit/ - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - vectorDrawables.useSupportLibrary = true - - ndk { - abiFilters "armeabi-v7a", "x86", "x86_64", "arm64-v8a" - } - } - - dexOptions { - javaMaxHeapSize "4g" - } - - sourceSets { - def commonTestDir = 'src/commonTest/java' - main { - java.srcDirs = ['src/main/java'] - } - androidTest { - java.srcDirs = ['src/instrumentTest/java/'] - java.srcDir commonTestDir - } - test { - java.srcDir commonTestDir - } - } - - signingConfigs { - release { - storeFile file("../default_key_store.jks") - storePassword "mifos1234" - keyAlias "mifos" - keyPassword "mifos1234" - } - } - - /*productFlavors { - Keep it and the 'useProguard' attribute in the release config commented to prevent - "Build-in class shrinker and multidex are not supported yet." error while enabling multidex -}*/ - - buildTypes { - - debug { - minifyEnabled false - // TODO Uses new built-in shrinker, To Enable update buils tools to 2.2 - // TODO http://tools.android.com/tech-docs/new-build-system/built-in-shrinker - //useProguard false - //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - //testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro' - } - - release { - minifyEnabled false - //useProguard false - signingConfig signingConfigs.release - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro' - } - } - lintOptions { - abortOnError false - disable 'InvalidPackage' - disable 'MissingTranslation' - disable 'OutdatedLibrary' - } - - // Exclude duplicated Hamcrest LICENSE.txt from being packaged into the apk. - // This is a workaround for https://code.google.com/p/android/issues/detail?id=65445. - // The Hamcrest is used in tests. - packagingOptions { - exclude 'LICENSE.txt' - exclude 'META-INF/LICENSE.txt' - exclude 'META-INF/dbflow-kotlinextensions-compileReleaseKotlin.kotlin_module' - } - useLibrary 'org.apache.http.legacy' - - // Always show the result of every unit test, even if it passes. - testOptions.unitTests.all { - testLogging { - events 'passed', 'skipped', 'failed', 'standardOut', 'standardError' - } - } - buildFeatures { - viewBinding true - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - } -} - -task buildAndEMailAPK(type: Exec, description: 'Builds and Generates a Signed APK and emails it') { - -} - -tasks.withType(JavaCompile) { - configure(options) { - // TODO - compilerArgs << "-Xlint:deprecation" - compilerArgs << "-Xlint:-unchecked" - compilerArgs << "-Xlint:-rawtypes" - } -} - -dependencies { - // Multidex dependency - implementation "androidx.multidex:multidex:$rootProject.multidexVersion" - - // Text drawable dependency - implementation "com.github.amulyakhare:TextDrawable:$rootProject.amulyakhareVersion" - - // You must install or update the Support Repository through the SDK manager to use this dependency. - implementation fileTree(dir: 'src/main/libs', include: ['*.jar']) - - // Kotlin standard library - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - - //DBFlow dependencies - kapt "com.github.raizlabs.dbflow.dbflow:dbflow-processor:$rootProject.raizLabsDBFlowVersion" - implementation "com.github.raizlabs.dbflow.dbflow:dbflow:$rootProject.raizLabsDBFlowVersion" - kapt "com.github.raizlabs.dbflow:dbflow-processor:$rootProject.raizLabsDBFlowProcessorVersion" - - // App's Support dependencies, including test - implementation "androidx.appcompat:appcompat:$rootProject.supportLibraryVersion" - implementation "androidx.legacy:legacy-support-v4:$rootProject.legacySupportVersion" - implementation "androidx.recyclerview:recyclerview:$rootProject.recyclerViewVersion" - implementation "com.google.android.material:material:$rootProject.designLibraryVersion" - implementation "com.google.android.gms:play-services-places:$rootProject.playServicesPlacesVersion" - implementation "com.google.android.gms:play-services-location:$rootProject.playServicesLocationsVersion" - implementation "com.google.android.gms:play-services-maps:$rootProject.playServicesMapsVersion" - implementation "com.google.maps.android:android-maps-utils:$rootProject.mapUtilsServicesVersion" - implementation "androidx.test.espresso:espresso-idling-resource:$rootProject.espressoidlingVersion" - - //LifeCycle - implementation "androidx.lifecycle:lifecycle-runtime-ktx:$rootProject.lifecycleVersion" - implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.lifecycleExtensionsVersion" - implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$rootProject.lifecycleVersion" - implementation "androidx.lifecycle:lifecycle-common-java8:$rootProject.lifecycleVersion" - - //Square dependencies - implementation("com.squareup.retrofit2:retrofit:$rootProject.retrofitVersionLatest") { - // exclude Retrofit’s OkHttp peer-dependency module and define your own module import - exclude module: 'okhttp' - } - 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.okHttp3MainVersion" - implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.okHttp3Version" - implementation "com.jakewharton.fliptables:fliptables:$rootProject.flipTableVersion" - - //sweet error dependency - implementation "com.github.therajanmaurya:sweet-error:$rootProject.sweeterrorVersion" - - //rxjava dependencies - implementation "io.reactivex:rxandroid:$rootProject.rxandroidVersion" - implementation "io.reactivex:rxjava:$rootProject.rxjavaVersion" - - //stetho dependencies - implementation "com.facebook.stetho:stetho:$rootProject.stethoVersion" - implementation "com.facebook.stetho:stetho-okhttp3:$rootProject.stethoVersion" - - //showcase View dependency - implementation "com.github.deano2390:MaterialShowcaseView:$rootProject.ShowcaseViewVersion" - - //Iconify dependency - implementation "com.joanzapata.iconify:android-iconify-material:$rootProject.iconifyVersion" - - //crashlytics dependency - implementation("com.crashlytics.sdk.android:crashlytics:$rootProject.crashlyticsVersion") { - transitive = true - } - - //glide dependency - implementation "com.github.bumptech.glide:glide:$rootProject.glideVersion" - - //mifos passcode dependency - implementation "com.mifos.mobile:mifos-passcode:$rootProject.mifosPasscodeVersion" - - // Android Testing Support Library's runner and rules dependencies - androidTestImplementation "androidx.test:runner:$rootProject.androidTestRunnerVersion" - androidTestImplementation "androidx.test:rules:$rootProject.androidTestRuleVersion" - - // Espresso UI Testing dependencies. - androidTestImplementation "androidx.test.espresso:espresso-core:$rootProject.espressoVersion" - androidTestImplementation("androidx.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' - } - androidTestImplementation "androidx.test.espresso:espresso-intents:$rootProject.espressoVersion" - - // Mockito and jUnit dependencies - testImplementation "junit:junit:$rootProject.jUnitVersion" - testImplementation "org.mockito:mockito-core:$rootProject.mockitoVersion" - androidTestImplementation "junit:junit:$rootProject.jUnitVersion" - androidTestImplementation "org.mockito:mockito-core:$rootProject.mockitoVersion" - androidTestImplementation "org.mockito:mockito-android:$rootProject.mockitoVersion" - testImplementation "org.junit.jupiter:junit-jupiter:$rootProject.junitJupiterVersion" - testImplementation "androidx.arch.core:core-testing:$rootProject.archCoreVersion" - - //Android-Jobs - implementation "com.evernote:android-job:$rootProject.androidJobVersion" - - // androidx annotations - implementation "androidx.annotation:annotation:$rootProject.annotationLibraryVersion" - - //preferences - implementation "androidx.preference:preference-ktx:$rootProject.preferenceVersion" - - //Splash Screen - implementation "androidx.core:core-splashscreen:$rootProject.splashscreenVersion" - - // Navigation Components - implementation "androidx.navigation:navigation-fragment-ktx:$rootProject.navigationComponentsVersion" - implementation "androidx.navigation:navigation-ui-ktx:$rootProject.navigationComponentsVersion" - - // Hilt dependency - implementation "com.google.dagger:hilt-android:$rootProject.hiltVersion" - kapt "com.google.dagger:hilt-android-compiler:$rootProject.hiltVersion" - - // fineract sdk dependencies - implementation "com.github.openMF:mifos-android-sdk-arch:$rootProject.sdkVersion" - - // sdk client - implementation "com.github.openMF:fineract-client:$rootProject.clientVersion" -} -/* -All direct/transitive dependencies shared between your test and production APKs need to be -excluded from the test APK! This is necessary because both APKs will contain the same classes. Not -excluding these dependencies from your test configuration will result in an dex pre-verifier error -at runtime. More info in this tools bug: (https://code.google.com/p/android/issues/detail?id=192497) -*/ -configurations.implementation.dependencies.each { compileDependency -> - println "Excluding compile dependency: ${compileDependency.getName()}" - configurations.androidTestImplementation.dependencies.each { androidTestCompileDependency -> - configurations.androidTestImplementation.exclude module: "${compileDependency.getName()}" - } -} diff --git a/mifosng-android/build.gradle.kts b/mifosng-android/build.gradle.kts new file mode 100644 index 00000000000..0dee3f45a74 --- /dev/null +++ b/mifosng-android/build.gradle.kts @@ -0,0 +1,229 @@ +import org.gradle.api.tasks.testing.logging.TestLogEvent + +/* + * This project is licensed under the open source MPL V2. + * See https://github.com/openMF/android-client/blob/master/LICENSE.md + */ + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("kotlin-kapt") + id("kotlin-parcelize") + id("androidx.navigation.safeargs.kotlin") + id("com.google.dagger.hilt.android") + id("org.jetbrains.kotlin.plugin.serialization") +} + +android { + namespace = "com.mifos.mifosxdroid" + compileSdk = 33 + + defaultConfig { + applicationId = "com.mifos.mifosxdroid" + minSdk = 26 + targetSdk = 33 + versionCode = 6 + versionName = "1.0.1" + + multiDexEnabled = true + compileSdkPreview = "UpsideDownCake" + // A test runner provided by https://code.google.com/p/android-test-kit/ + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables.useSupportLibrary = true + } + + signingConfigs { + create("release") { + storeFile = file("../default_key_store.jks") + storePassword = "mifos1234" + keyAlias = "mifos" + keyPassword = "mifos1234" + } + } + + buildTypes { + + debug { + isMinifyEnabled = false + // TODO Uses new built-in shrinker, To Enable update buils tools to 2.2 + // TODO http://tools.android.com/tech-docs/new-build-system/built-in-shrinker + //useProguard false + //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + //testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro' + } + + release { + isMinifyEnabled = false + isDebuggable = false + + proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") + testProguardFiles( + getDefaultProguardFile("proguard-android.txt"), + "proguardTest-rules.pro" + ) + } + } + + lint { + abortOnError = false + disable += "InvalidPackage" + disable += "MissingTranslation" + disable += "OutdatedLibrary" + } + + // Exclude duplicated Hamcrest LICENSE.txt from being packaged into the apk. + // This is a workaround for https://code.google.com/p/android/issues/detail?id=65445. + // The Hamcrest is used in tests. + packaging { + resources.excludes.add("LICENSE.txt") + resources.excludes.add("META-INF/LICENSE.txt") + resources.excludes.add("META-INF/dbflow-kotlinextensions-compileReleaseKotlin.kotlin_module") + } + + useLibrary("org.apache.http.legacy") + + // Always show the result of every unit test, even if it passes. + testOptions.unitTests.all { + it.apply { + testLogging.events = setOf( + TestLogEvent.PASSED, + TestLogEvent.SKIPPED, + TestLogEvent.FAILED, + TestLogEvent.STANDARD_OUT, + TestLogEvent.STANDARD_ERROR + ) + } + } + + buildFeatures { + viewBinding = true + buildConfig = true + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = "17" + } +} + +dependencies { + // Multidex dependency + implementation("androidx.multidex:multidex:2.0.1") + + // Text drawable dependency + implementation("com.github.amulyakhare:TextDrawable:558677ea31") + + // Kotlin standard library + implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.20") + + //DBFlow dependencies + kapt("com.github.raizlabs.dbflow.dbflow:dbflow-processor:3.1.1") + implementation("com.github.raizlabs.dbflow.dbflow:dbflow:3.1.1") + kapt("com.github.raizlabs.dbflow:dbflow-processor:4.2.4") + + // App's Support dependencies, including test + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("androidx.legacy:legacy-support-v4:1.0.0") + implementation("androidx.recyclerview:recyclerview:1.3.1") + implementation("com.google.android.material:material:1.9.0") + implementation("com.google.android.gms:play-services-places:17.0.0") + implementation("com.google.android.gms:play-services-location:21.0.1") + implementation("com.google.android.gms:play-services-maps:18.1.0") + implementation("com.google.maps.android:android-maps-utils:0.4.2") + implementation("androidx.test.espresso:espresso-idling-resource:3.5.1") + + //LifeCycle + implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") + implementation("androidx.lifecycle:lifecycle-extensions:2.2.0") + implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.6.1") + implementation("androidx.lifecycle:lifecycle-common-java8:2.6.1") + + //Square dependencies + implementation("com.squareup.retrofit2:retrofit:2.9.0") { + // exclude Retrofit’s OkHttp peer-dependency module and define your own module import + exclude(module = "okhttp") + } + implementation("com.squareup.retrofit2:converter-gson:2.9.0") + implementation("com.squareup.retrofit2:converter-scalars:2.9.0") + implementation("com.squareup.retrofit2:adapter-rxjava:2.9.0") + implementation("com.squareup.okhttp3:okhttp:4.9.2") + implementation("com.squareup.okhttp3:logging-interceptor:4.11.0") + implementation("com.jakewharton.fliptables:fliptables:1.0.1") + + //sweet error dependency + implementation("com.github.therajanmaurya:sweet-error:1.0.9") + + //rxjava dependencies + implementation("io.reactivex:rxandroid:1.1.0") + implementation("io.reactivex:rxjava:1.3.8") + + //stetho dependencies + implementation("com.facebook.stetho:stetho:1.3.1") + implementation("com.facebook.stetho:stetho-okhttp3:1.3.1") + + //showcase View dependency + implementation("com.github.deano2390:MaterialShowcaseView:1.3.7") + + //Iconify dependency + implementation("com.joanzapata.iconify:android-iconify-material:2.2.2") + + //glide dependency + implementation("com.github.bumptech.glide:glide:4.15.1") + + //mifos passcode dependency + implementation("com.mifos.mobile:mifos-passcode:1.0.0") + + // Android Testing Support Library's runner and rules dependencies + androidTestImplementation("androidx.test:runner:1.5.2") + androidTestImplementation("androidx.test:rules:1.5.0") + + // Espresso UI Testing dependencies. + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") + androidTestImplementation("androidx.test.espresso:espresso-contrib:3.5.1") { + 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") + } + androidTestImplementation("androidx.test.espresso:espresso-intents:3.5.1") + + // Mockito and jUnit dependencies + testImplementation("junit:junit:4.13.2") + testImplementation("org.mockito:mockito-core:5.5.0") + androidTestImplementation("junit:junit:4.13.2") + androidTestImplementation("org.mockito:mockito-core:5.5.0") + androidTestImplementation("org.mockito:mockito-android:5.5.0") + testImplementation("org.junit.jupiter:junit-jupiter:5.7.2") + testImplementation("androidx.arch.core:core-testing:2.2.0") + + //Android-Jobs + implementation("com.evernote:android-job:1.2.6") + + // androidx annotations + implementation("androidx.annotation:annotation:1.6.0") + + //preferences + implementation("androidx.preference:preference-ktx:1.2.0") + + //Splash Screen + implementation("androidx.core:core-splashscreen:1.1.0-alpha01") + + // Navigation Components + implementation("androidx.navigation:navigation-fragment-ktx:2.6.0") + implementation("androidx.navigation:navigation-ui-ktx:2.6.0") + + // Hilt dependency + implementation("com.google.dagger:hilt-android:2.44") + kapt("com.google.dagger:hilt-android-compiler:2.44") + + // fineract sdk dependencies + implementation("com.github.openMF:mifos-android-sdk-arch:1.06") + + // sdk client + implementation("com.github.openMF:fineract-client:2.0.3") +} \ No newline at end of file diff --git a/mifosng-android/proguard-rules.pro b/mifosng-android/proguard-rules.pro index 9814e5914a5..46fcbc5e843 100755 --- a/mifosng-android/proguard-rules.pro +++ b/mifosng-android/proguard-rules.pro @@ -2,7 +2,7 @@ # By default, the flags in this file are appended to flags specified # in /usr/local/google/home/mdzyuba/android-sdks/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. +# directive in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html diff --git a/mifosng-android/src/main/AndroidManifest.xml b/mifosng-android/src/main/AndroidManifest.xml index 0bece6bf4e6..a89ab4f61c1 100755 --- a/mifosng-android/src/main/AndroidManifest.xml +++ b/mifosng-android/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + xmlns:tools="http://schemas.android.com/tools"> + @@ -26,9 +26,9 @@ - + + + diff --git a/mifosng-android/src/main/java/com/mifos/application/App.kt b/mifosng-android/src/main/java/com/mifos/application/App.kt index c6b57c24403..081a3df034e 100644 --- a/mifosng-android/src/main/java/com/mifos/application/App.kt +++ b/mifosng-android/src/main/java/com/mifos/application/App.kt @@ -10,7 +10,6 @@ import android.os.StrictMode import android.os.StrictMode.VmPolicy import android.preference.PreferenceManager import androidx.multidex.MultiDexApplication -import com.crashlytics.android.Crashlytics import com.evernote.android.job.JobManager import com.facebook.stetho.Stetho import com.joanzapata.iconify.Iconify @@ -22,7 +21,6 @@ import com.mifos.utils.ThemeHelper import com.raizlabs.android.dbflow.config.FlowConfig import com.raizlabs.android.dbflow.config.FlowManager import dagger.hilt.android.HiltAndroidApp -import io.fabric.sdk.android.Fabric /** * Created by ishankhanna on 13/03/15. @@ -37,7 +35,6 @@ class App : MultiDexApplication() { ThemeHelper.applyTheme(themePref) } instance = this - Fabric.with(this, Crashlytics()) Iconify.with(MaterialModule()) JobManager.create(this).addJobCreator(OfflineJobCreator()) //Initializing the DBFlow and SQL Cipher Encryption @@ -58,8 +55,9 @@ class App : MultiDexApplication() { companion object { @JvmField val typefaceManager: MutableMap = HashMap() + @JvmStatic - var instance: App? =null + var instance: App? = null @JvmStatic val context: App? diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/activity/pathtracking/PathTrackingActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/activity/pathtracking/PathTrackingActivity.kt index ccc16468521..0a0e367ec11 100644 --- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/activity/pathtracking/PathTrackingActivity.kt +++ b/mifosng-android/src/main/java/com/mifos/mifosxdroid/activity/pathtracking/PathTrackingActivity.kt @@ -58,7 +58,7 @@ class PathTrackingActivity : MifosBaseActivity(), OnRefreshListener { createNotificationReceiver() showUserInterface() viewModel.loadPathTracking(PrefManager.getUserId()) - binding.layoutError.findViewById