7e12224795
- Introduced the new material date range picker, to be used in the FilterOptionsDialog to select a date range. This was necessary because the old MaterialDatePicker that was used inside DatePickerFragment is no longer available in the latest version of the Material Components library.
147 lines
5.9 KiB
Groovy
147 lines
5.9 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-parcelize'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: "androidx.navigation.safeargs.kotlin"
|
|
apply plugin: 'com.google.gms.google-services'
|
|
apply plugin: 'com.google.firebase.crashlytics'
|
|
|
|
android {
|
|
compileSdkVersion 29
|
|
defaultConfig {
|
|
applicationId "cy.agorise.bitsybitshareswallet"
|
|
minSdkVersion 21
|
|
targetSdkVersion 29
|
|
versionCode 15
|
|
versionName "0.17.2-beta"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
javaCompileOptions {
|
|
annotationProcessorOptions {
|
|
arguments = ["room.schemaLocation":
|
|
"$projectDir/schemas".toString()]
|
|
}
|
|
}
|
|
sourceSets {
|
|
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
minifyEnabled false
|
|
resValue("string", "PORT_NUMBER", "8082")
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
android.packagingOptions {
|
|
exclude 'lib/x86_64/darwin/libscrypt.dylib'
|
|
exclude 'lib/x86_64/freebsd/libscrypt.so'
|
|
exclude 'lib/x86_64/linux/libscrypt.so'
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
// Gradle automatically adds 'android.test.runner' as a dependency.
|
|
useLibrary 'android.test.runner'
|
|
useLibrary 'android.test.base'
|
|
useLibrary 'android.test.mock'
|
|
}
|
|
|
|
dependencies {
|
|
def lifecycle_version = "2.3.0"
|
|
def arch_version = "2.1.0"
|
|
def room_version = "2.2.6"
|
|
def rx_bindings_version = '3.0.0'
|
|
def version_coroutine = '1.4.1'
|
|
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
implementation project(':graphenejlib:graphenej')
|
|
implementation project(':PDFJet')
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
// AndroidX
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
// Google
|
|
implementation 'com.google.zxing:core:3.4.0'
|
|
implementation 'com.google.code.gson:gson:2.8.6'
|
|
implementation 'com.google.android.material:material:1.3.0'
|
|
implementation 'com.google.android.gms:play-services-maps:17.0.0'
|
|
implementation 'com.google.maps.android:android-maps-utils:0.5'
|
|
// AAC Lifecycle
|
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
|
// AAC Room
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
implementation "androidx.room:room-rxjava2:$room_version" // RxJava support for Room
|
|
implementation "androidx.room:room-ktx:$room_version" // Coroutines support for Room
|
|
kapt "androidx.room:room-compiler:$room_version"
|
|
// AAC Navigation
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
|
|
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
|
|
// Kotlin Coroutines
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version_coroutine"
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version_coroutine"
|
|
// RxBindings
|
|
implementation "com.jakewharton.rxbinding3:rxbinding:$rx_bindings_version"
|
|
implementation "com.jakewharton.rxbinding3:rxbinding-material:$rx_bindings_version" // Material Components widgets
|
|
implementation "com.jakewharton.rxbinding3:rxbinding-appcompat:$rx_bindings_version" // AndroidX appcompat widgets
|
|
// Retrofit & OkHttp
|
|
implementation 'com.squareup.okhttp3:okhttp:4.2.0'
|
|
implementation 'com.squareup.retrofit2:retrofit:2.6.1'
|
|
implementation 'com.squareup.retrofit2:converter-gson:2.6.1'
|
|
implementation 'com.squareup.okhttp3:logging-interceptor:4.2.0'
|
|
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
|
|
//Firebase
|
|
implementation platform('com.google.firebase:firebase-bom:26.7.0') // Import the BoM for the Firebase platform
|
|
implementation 'com.google.firebase:firebase-crashlytics-ktx'
|
|
implementation 'com.google.firebase:firebase-analytics-ktx'
|
|
|
|
// CSV generation
|
|
implementation 'com.opencsv:opencsv:3.7'
|
|
// Others
|
|
api 'com.google.guava:guava:27.0.1-android'
|
|
implementation 'org.bitcoinj:bitcoinj-core:0.14.3'
|
|
implementation 'com.moldedbits.r2d2:r2d2:1.0.1'
|
|
implementation 'me.dm7.barcodescanner:zxing:1.9.13'
|
|
implementation 'com.afollestad.material-dialogs:core:3.1.1'
|
|
implementation 'com.andrognito.patternlockview:patternlockview:1.0.0'
|
|
// Android Debug Database
|
|
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
|
|
|
|
// Testing libs
|
|
testImplementation 'junit:junit:4.12'
|
|
androidTestImplementation 'androidx.test:core:1.3.0'
|
|
|
|
androidTestImplementation "androidx.arch.core:core-testing:$arch_version"
|
|
androidTestImplementation "androidx.room:room-testing:$room_version"
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
|
androidTestImplementation 'com.jraska.livedata:testing-ktx:1.0.0'
|
|
}
|
|
|
|
// Added to avoid the compilation problem due to a duplicate ListenableFuture library
|
|
afterEvaluate {
|
|
configurations.all {
|
|
def group = 'com.google.guava', name = 'guava', version = '27.0.1-android'
|
|
resolutionStrategy.eachDependency { details ->
|
|
if (requested.group == group && requested.name == name) {
|
|
details.useTarget group: details.requested.group, name: name, version: version
|
|
}
|
|
}
|
|
}
|
|
}
|