diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 442ed2a59..0cabe7d08 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -35,7 +35,7 @@ repositories { maven { url 'https://maven.fabric.io/public' } // Material View Pager - maven { url "http://dl.bintray.com/florent37/maven" } + maven { url "https://dl.bintray.com/florent37/maven" } maven { url "https://jitpack.io" } @@ -44,35 +44,35 @@ repositories { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') //Networking - implementation 'com.squareup.okhttp3:okhttp:3.14.2' - implementation 'com.squareup.okhttp3:logging-interceptor:3.14.2' + implementation 'com.squareup.okhttp3:okhttp:3.14.6' + implementation 'com.squareup.okhttp3:logging-interceptor:3.14.6' //REST API handling - implementation('com.squareup.retrofit2:retrofit:2.5.0') { + implementation('com.squareup.retrofit2:retrofit:2.7.1') { exclude module: 'okhttp' } - implementation 'com.squareup.retrofit2:converter-gson:2.5.0' - implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0' + implementation 'com.squareup.retrofit2:converter-gson:2.7.1' + implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1' //Crash Logging releaseImplementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') { transitive = true } //Dependency Injection - implementation 'com.google.dagger:dagger:2.22.1' - kapt 'com.google.dagger:dagger-compiler:2.22.1' + implementation 'com.google.dagger:dagger:2.25.4' + kapt 'com.google.dagger:dagger-compiler:2.25.4' compileOnly 'javax.annotation:javax.annotation-api:1.3.2' //App Compatibility and Material Design implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.google.android.material:material:1.0.0' - implementation 'androidx.recyclerview:recyclerview:1.0.0' + implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.legacy:legacy-preference-v14:1.0.0' // Emojis implementation 'com.github.viirus:emoji-lib:0.0.5' // Markdown - implementation "io.noties.markwon:core:4.1.2" - implementation "io.noties.markwon:ext-strikethrough:4.1.2" - implementation "io.noties.markwon:image:4.1.2" - implementation "io.noties.markwon:recycler:4.1.2" - implementation "io.noties.markwon:html:4.1.2" + implementation "io.noties.markwon:core:4.2.0" + implementation "io.noties.markwon:ext-strikethrough:4.2.0" + implementation "io.noties.markwon:image:4.2.0" + implementation "io.noties.markwon:recycler:4.2.0" + implementation "io.noties.markwon:html:4.2.0" // About View for all dependent Libraries, we are using implementation('com.mikepenz:aboutlibraries:5.9.4@aar') { transitive = true @@ -88,16 +88,16 @@ dependencies { implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar' //RxJava implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' - implementation 'io.reactivex.rxjava2:rxjava:2.2.8' - implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0' + implementation 'io.reactivex.rxjava2:rxjava:2.2.17' + implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0' //Analytics - implementation 'com.amplitude:android-sdk:2.22.1' + implementation 'com.amplitude:android-sdk:2.23.2' // Fresco Image Management Library - implementation('com.facebook.fresco:fresco:1.13.0') { + implementation('com.facebook.fresco:fresco:2.0.0') { exclude module: 'bolts-android' } - implementation('com.facebook.fresco:animated-gif:1.13.0') { + implementation('com.facebook.fresco:animated-gif:2.0.0') { exclude module: 'bolts-android' } //Tests @@ -116,9 +116,9 @@ dependencies { releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2' //Push Notifications implementation 'com.google.firebase:firebase-core:17.2.1' - implementation 'com.google.firebase:firebase-messaging:20.0.1' - implementation 'com.google.firebase:firebase-config:19.0.3' - implementation 'com.google.firebase:firebase-perf:19.0.2' + implementation 'com.google.firebase:firebase-messaging:20.1.0' + implementation 'com.google.firebase:firebase-config:19.1.0' + implementation 'com.google.firebase:firebase-perf:19.0.4' implementation 'com.google.android.gms:play-services-auth:17.0.0' implementation 'io.realm:android-adapters:3.1.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" @@ -128,12 +128,12 @@ dependencies { implementation 'androidx.core:core-ktx:1.1.0' implementation "androidx.lifecycle:lifecycle-extensions:2.1.0" implementation "androidx.lifecycle:lifecycle-common-java8:2.1.0" - implementation 'android.arch.navigation:navigation-fragment-ktx:1.0.0' - implementation 'android.arch.navigation:navigation-ui-ktx:1.0.0' - implementation "androidx.paging:paging-runtime-ktx:2.1.0" + implementation 'androidx.navigation:navigation-fragment-ktx:2.1.0' + implementation 'androidx.navigation:navigation-ui-ktx:2.1.0' + implementation "androidx.paging:paging-runtime-ktx:2.1.1" implementation 'com.plattysoft.leonids:LeonidsLib:1.3.2' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3' implementation project(':shared') } @@ -151,8 +151,8 @@ android { multiDexEnabled true resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW" - versionCode 2342 - versionName "2.4.1" + versionCode 2346 + versionName "2.4.2" } viewBinding { @@ -243,6 +243,10 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + dexOptions { preDexLibraries false javaMaxHeapSize "6g" // Use gig increments depending on needs diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt index e90af8750..b166b4556 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt @@ -1,6 +1,7 @@ package com.habitrpg.android.habitica.api import com.habitrpg.android.habitica.models.* +import com.habitrpg.android.habitica.models.Tag import com.habitrpg.android.habitica.models.auth.UserAuth import com.habitrpg.android.habitica.models.auth.UserAuthResponse import com.habitrpg.android.habitica.models.auth.UserAuthSocial diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt index 550e3383b..d9763c4ad 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt @@ -189,7 +189,7 @@ class ApiClientImpl//private OnHabitsAPIResult mResultListener; val res = getErrorResponse(error) val status = error.code() - if (status == 404 || error.response().raw().request().url().toString().endsWith("/user/push-devices")) { + if (status == 404 || error.response()?.raw()?.request()?.url()?.toString()?.endsWith("/user/push-devices") == true) { //workaround for an error that sometimes displays that the user already has this push device return } @@ -213,7 +213,7 @@ class ApiClientImpl//private OnHabitsAPIResult mResultListener; } override fun getErrorResponse(throwable: HttpException): ErrorResponse { - val errorResponse = throwable.response().errorBody() ?: return ErrorResponse() + val errorResponse = throwable.response()?.errorBody() ?: return ErrorResponse() val errorConverter = gsonConverter .responseBodyConverter(ErrorResponse::class.java, arrayOfNulls(0), retrofitAdapter) return try { diff --git a/build.gradle b/build.gradle index b47a9b5e4..7e30c061f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.50' - ext.build_tools_version = '28.0.3' + ext.kotlin_version = '1.3.61' + ext.build_tools_version = '29.0.0' ext.sdk_version = 28 repositories { @@ -11,10 +11,10 @@ buildscript { maven { url "https://plugins.gradle.org/m2/" } } dependencies { - classpath 'com.android.tools.build:gradle:3.6.0-beta05' + classpath 'com.android.tools.build:gradle:3.6.0-rc01' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' - classpath 'com.google.gms:google-services:4.3.2' - classpath "io.realm:realm-gradle-plugin:5.15.0" + classpath 'com.google.gms:google-services:4.3.3' + classpath "io.realm:realm-gradle-plugin:6.0.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.1.0" classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 78ebc9641..761aae694 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-5.6.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip