diff --git a/Habitica/build.gradle b/Habitica/build.gradle
index d20bd9224..8009a2b33 100644
--- a/Habitica/build.gradle
+++ b/Habitica/build.gradle
@@ -42,20 +42,20 @@ repositories {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//Networking
- implementation 'com.squareup.okhttp3:okhttp:3.14.6'
- implementation 'com.squareup.okhttp3:logging-interceptor:3.14.6'
+ implementation 'com.squareup.okhttp3:okhttp:4.9.0'
+ implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
//REST API handling
- implementation('com.squareup.retrofit2:retrofit:2.7.1') {
+ implementation('com.squareup.retrofit2:retrofit:2.9.0') {
exclude module: 'okhttp'
}
- implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
- implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
+ implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
+ implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
//Crash Logging
- implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
+ implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
//Dependency Injection
- implementation 'com.google.dagger:dagger:2.27'
- kapt 'com.google.dagger:dagger-compiler:2.25.4'
+ implementation 'com.google.dagger:dagger:2.29.1'
+ kapt 'com.google.dagger:dagger-compiler:2.29.1'
compileOnly 'javax.annotation:javax.annotation-api:1.3.2'
compileOnly 'com.github.pengrad:jdk9-deps:1.0'
//App Compatibility and Material Design
@@ -64,36 +64,34 @@ dependencies {
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
// Markdown
- 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
- }
+ implementation "io.noties.markwon:core:4.6.0"
+ implementation "io.noties.markwon:ext-strikethrough:4.6.0"
+ implementation "io.noties.markwon:image:4.6.0"
+ implementation "io.noties.markwon:recycler:4.6.0"
+ implementation "io.noties.markwon:html:4.6.0"
//Eventbus
- implementation 'org.greenrobot:eventbus:3.1.1'
+ implementation 'org.greenrobot:eventbus:3.2.0'
// IAP Handling / Verification
- implementation 'org.solovyev.android:checkout:1.2.1'
+ implementation 'org.solovyev.android:checkout:1.2.2'
//Facebook
- implementation('com.facebook.android:facebook-android-sdk:4.40.0') {
+ implementation('com.facebook.android:facebook-android-sdk:7.1.0') {
transitive = true
}
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.17'
- implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0'
+ implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
+ implementation 'io.reactivex.rxjava3:rxjava:3.0.6'
+ implementation 'io.reactivex.rxjava3:rxkotlin:3.0.1'
+ implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
+ implementation "com.github.akarnokd:rxjava3-bridge:3.0.0"
//Analytics
- implementation 'com.amplitude:android-sdk:2.23.2'
+ implementation 'com.amplitude:android-sdk:2.25.2'
// Fresco Image Management Library
- implementation('com.facebook.fresco:fresco:2.0.0') {
+ implementation('com.facebook.fresco:fresco:2.3.0') {
exclude module: 'bolts-android'
}
- implementation('com.facebook.fresco:animated-gif:2.0.0') {
+ implementation('com.facebook.fresco:animated-gif:2.3.0') {
exclude module: 'bolts-android'
}
//Tests
@@ -110,20 +108,18 @@ dependencies {
testImplementation 'org.powermock:powermock-module-junit4-rule:1.7.0'
testImplementation 'org.powermock:powermock-module-junit4:1.7.0'
//Leak Detection
- debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2'
- releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2'
+ debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
//Push Notifications
implementation 'com.google.firebase:firebase-core:17.5.0'
- implementation 'com.google.firebase:firebase-messaging:20.2.4'
+ implementation 'com.google.firebase:firebase-messaging:20.3.0'
implementation 'com.google.firebase:firebase-config:19.2.0'
- implementation 'com.google.firebase:firebase-perf:19.0.8'
+ implementation 'com.google.firebase:firebase-perf:19.0.9'
implementation 'com.google.android.gms:play-services-auth:18.1.0'
- implementation 'io.realm:android-adapters:3.1.0'
+ implementation 'io.realm:android-adapters:4.0.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.nex3z:flow-layout:1.2.2'
- implementation 'androidx.core:core-ktx:1.3.1'
+ implementation 'androidx.core:core-ktx:1.3.2'
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'
@@ -153,15 +149,14 @@ android {
vectorDrawables.useSupportLibrary = true
buildConfigField "String", "STORE", "\"google\""
buildConfigField "String", "TESTING_LEVEL", "\"production\""
- 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 2571
- versionName "3.0.1"
+ versionCode 2587
+ versionName "3.1"
}
- viewBinding {
- enabled = true
+ buildFeatures {
+ viewBinding true
}
lintOptions {
@@ -177,7 +172,6 @@ android {
debug {
applicationIdSuffix ".debug"
debuggable true
- multiDexEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// Disable fabric build ID generation for debug builds
@@ -189,7 +183,6 @@ android {
release {
signingConfig signingConfigs.release
debuggable false
- multiDexEnabled true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
diff --git a/Habitica/res/layout/daily_item_card.xml b/Habitica/res/layout/daily_item_card.xml
index 3262d8cf0..650fa0526 100644
--- a/Habitica/res/layout/daily_item_card.xml
+++ b/Habitica/res/layout/daily_item_card.xml
@@ -1,14 +1,12 @@
-
+ android:foreground="?selectableItemBackground">
-
-
+ android:minHeight="@dimen/task_min_height"
+ android:orientation="vertical">
-
-
-
+
+
diff --git a/Habitica/res/layout/dialog_completed_quest_content.xml b/Habitica/res/layout/dialog_completed_quest_content.xml
index 4ed9d410c..988277709 100644
--- a/Habitica/res/layout/dialog_completed_quest_content.xml
+++ b/Habitica/res/layout/dialog_completed_quest_content.xml
@@ -59,7 +59,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Body2"
- android:textColor="@color/black_50_alpha"
+ android:textColor="@color/text_secondary"
tools:text="These are the notes"
android:gravity="center"/>
\ No newline at end of file
diff --git a/Habitica/res/layout/drawer_main.xml b/Habitica/res/layout/drawer_main.xml
index c2c4dda27..894696a72 100644
--- a/Habitica/res/layout/drawer_main.xml
+++ b/Habitica/res/layout/drawer_main.xml
@@ -83,7 +83,7 @@
android:gravity="center"
android:minWidth="20dp"
android:paddingTop="0dp"
- android:textColor="@color/text_inverted"
+ android:textColor="@color/white"
android:textSize="12sp"
android:visibility="gone"
tools:text="1"
@@ -116,7 +116,7 @@
android:gravity="center"
android:minWidth="20dp"
android:paddingTop="0dp"
- android:textColor="#FFF"
+ android:textColor="@color/white"
android:textSize="12sp"
android:visibility="gone"
tools:text="1"
diff --git a/Habitica/res/layout/edit_tag_item.xml b/Habitica/res/layout/edit_tag_item.xml
index 0267fcd3b..b6c060b06 100644
--- a/Habitica/res/layout/edit_tag_item.xml
+++ b/Habitica/res/layout/edit_tag_item.xml
@@ -11,9 +11,8 @@
android:layout_height="wrap_content"
android:padding="0dp"
android:src="@drawable/ic_close_purple_300_36dp"
- android:tint="?colorPrimary"
- android:tintMode="src_atop"
- style="@style/Base.Widget.AppCompat.Button.Borderless"/>
+ android:tint="@color/color_accent"
+ android:background="@color/transparent"/>
+ android:layout_marginEnd="@dimen/task_text_padding"
+ android:layout_marginStart="@dimen/task_text_padding">