mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-18 19:59:00 +00:00
Fix merge issues
This commit is contained in:
parent
857a5a6ed1
commit
ac51cc7c05
16 changed files with 60 additions and 56 deletions
|
|
@ -1,25 +1,17 @@
|
|||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'realm-android'
|
||||
apply plugin: 'androidx.navigation.safeargs'
|
||||
apply plugin: 'com.google.firebase.firebase-perf'
|
||||
apply plugin: 'jacoco'
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'org.jetbrains.kotlin.android'
|
||||
id 'kotlin-kapt'
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.1.3'
|
||||
classpath 'net.sourceforge.pmd:pmd-java:5.5.3'
|
||||
}
|
||||
id 'com.google.gms.google-services'
|
||||
id 'com.google.firebase.crashlytics'
|
||||
id 'realm-android'
|
||||
id 'androidx.navigation.safeargs'
|
||||
id 'com.google.firebase.firebase-perf'
|
||||
}
|
||||
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
|
|
@ -145,6 +137,8 @@ dependencies {
|
|||
}
|
||||
}
|
||||
androidTestImplementation "org.jetbrains.kotlin:kotlin-reflect:1.6.21"
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
|
||||
}
|
||||
|
||||
android {
|
||||
|
|
@ -347,7 +341,7 @@ if (HRPG_PROPS_FILE.canRead()) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
throw new InvalidUserDataException('habitica.properties found but some entries are missing')
|
||||
throw new MissingResourceException('habitica.properties found but some entries are missing')
|
||||
}
|
||||
} else {
|
||||
throw new MissingResourceException('habitica.properties not found')
|
||||
|
|
@ -366,7 +360,7 @@ if (HRPG_RES_FILE.canRead()) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
throw new InvalidUserDataException('habitica.resources found but some entries are missing')
|
||||
throw new MissingResourceException('habitica.resources found but some entries are missing')
|
||||
}
|
||||
} else {
|
||||
throw new MissingResourceException('habitica.resources not found')
|
||||
|
|
@ -386,10 +380,6 @@ gradle.projectsEvaluated {
|
|||
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
jacoco {
|
||||
toolVersion = "0.8.7"
|
||||
}
|
||||
|
||||
task ktlint(type: JavaExec, group: "verification") {
|
||||
description = "Check Kotlin code style."
|
||||
classpath = configurations.ktlint
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:shimmer_repeat_delay="8000">
|
||||
<com.habitrpg.android.habitica.ui.views.PixelArtView
|
||||
<com.habitrpg.common.habitica.views.PixelArtView
|
||||
android:id="@+id/pet_view"
|
||||
android:layout_width="@dimen/gear_image_size"
|
||||
android:layout_height="@dimen/gear_image_size"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
tools:text="Title"
|
||||
android:gravity="center"
|
||||
style="@style/Subheader1"/>
|
||||
<com.habitrpg.android.habitica.ui.views.PixelArtView
|
||||
<com.habitrpg.common.habitica.views.PixelArtView
|
||||
android:id="@+id/icon_view"
|
||||
android:layout_width="@dimen/shopitem_image_size"
|
||||
android:layout_height="@dimen/shopitem_image_size"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
style="@style/BottomMenuItemText"
|
||||
tools:text="Menu Item"/>
|
||||
<com.habitrpg.android.habitica.ui.views.CurrencyView
|
||||
<com.habitrpg.common.habitica.views.CurrencyView
|
||||
android:id="@+id/currency_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
|
|||
|
|
@ -7,20 +7,20 @@ import android.widget.TextView
|
|||
import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import com.google.firebase.analytics.FirebaseAnalytics
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.common.habitica.models.Notification
|
||||
import com.habitrpg.common.habitica.models.notifications.AchievementData
|
||||
import com.habitrpg.common.habitica.models.notifications.ChallengeWonData
|
||||
import com.habitrpg.common.habitica.models.notifications.FirstDropData
|
||||
import com.habitrpg.common.habitica.models.notifications.LoginIncentiveData
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
|
||||
import com.habitrpg.common.habitica.views.PixelArtView
|
||||
import com.habitrpg.android.habitica.ui.views.SnackbarActivity
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.AchievementDialog
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.FirstDropDialog
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.WonChallengeDialog
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
import com.habitrpg.common.habitica.models.Notification
|
||||
import com.habitrpg.common.habitica.models.notifications.AchievementData
|
||||
import com.habitrpg.common.habitica.models.notifications.ChallengeWonData
|
||||
import com.habitrpg.common.habitica.models.notifications.FirstDropData
|
||||
import com.habitrpg.common.habitica.models.notifications.LoginIncentiveData
|
||||
import com.habitrpg.common.habitica.views.PixelArtView
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
|
|||
|
|
@ -11,16 +11,15 @@ import androidx.lifecycle.ViewModel
|
|||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.databinding.AvatarWithBarsBinding
|
||||
import com.habitrpg.android.habitica.helpers.Animations
|
||||
import com.habitrpg.common.habitica.helpers.HealthFormatter
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
import com.habitrpg.android.habitica.models.user.Stats
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.common.habitica.ui.activities.mainActivityCreatedAt
|
||||
import com.habitrpg.android.habitica.ui.activities.mainActivityCreatedAt
|
||||
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
|
||||
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
|
||||
import java.util.Date
|
||||
import com.habitrpg.common.habitica.helpers.HealthFormatter
|
||||
import com.habitrpg.common.habitica.models.Avatar
|
||||
import io.reactivex.rxjava3.disposables.Disposable
|
||||
import com.habitrpg.common.habitica.views.HabiticaIconsHelper
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
import kotlin.math.floor
|
||||
|
||||
|
|
@ -64,7 +63,9 @@ class AvatarWithBarsViewModel(
|
|||
userClass = stats.getTranslatedClassName(context)
|
||||
}
|
||||
|
||||
binding.mpBar.visibility = if (stats.habitClass == null || stats.lvl ?: 0 < 10 || user.preferences?.disableClasses == true) View.GONE else View.VISIBLE
|
||||
binding.mpBar.visibility = if (stats.habitClass == null || (stats.lvl
|
||||
?: 0) < 10 || user.preferences?.disableClasses == true
|
||||
) View.GONE else View.VISIBLE
|
||||
|
||||
if (!user.hasClass) {
|
||||
setUserLevel(context, binding.lvlTv, stats.lvl)
|
||||
|
|
|
|||
|
|
@ -16,10 +16,9 @@ import com.habitrpg.android.habitica.databinding.AdventureGuideItemBinding
|
|||
import com.habitrpg.android.habitica.extensions.fromHtml
|
||||
import com.habitrpg.android.habitica.helpers.AmplitudeManager
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.android.habitica.ui.helpers.loadImage
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
|
||||
import javax.inject.Inject
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
|
||||
class AdventureGuideActivity : BaseActivity() {
|
||||
private lateinit var binding: ActivityAdventureGuideBinding
|
||||
|
|
|
|||
|
|
@ -18,9 +18,10 @@ import com.habitrpg.android.habitica.models.user.Items
|
|||
import com.habitrpg.android.habitica.models.user.Outfit
|
||||
import com.habitrpg.android.habitica.models.user.Preferences
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.common.habitica.views.HabiticaIconsHelper
|
||||
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaProgressDialog
|
||||
import com.habitrpg.common.habitica.views.HabiticaIconsHelper
|
||||
import io.reactivex.rxjava3.functions.Consumer
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ import com.habitrpg.android.habitica.helpers.Animations
|
|||
import com.habitrpg.android.habitica.helpers.AppConfigManager
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
|
||||
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
|
||||
import com.habitrpg.android.habitica.ui.views.ads.AdButton
|
||||
import com.habitrpg.common.habitica.views.HabiticaIconsHelper
|
||||
import com.plattysoft.leonids.ParticleSystem
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -12,15 +12,14 @@ import com.habitrpg.android.habitica.databinding.CustomizationGridItemBinding
|
|||
import com.habitrpg.android.habitica.databinding.CustomizationSectionFooterBinding
|
||||
import com.habitrpg.android.habitica.databinding.CustomizationSectionHeaderBinding
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
import com.habitrpg.android.habitica.models.Avatar
|
||||
import com.habitrpg.android.habitica.models.inventory.Customization
|
||||
import com.habitrpg.android.habitica.models.inventory.CustomizationSet
|
||||
import com.habitrpg.android.habitica.models.shops.ShopItem
|
||||
import com.habitrpg.android.habitica.ui.AvatarView
|
||||
import com.habitrpg.android.habitica.ui.helpers.loadImage
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialog
|
||||
import com.habitrpg.common.habitica.models.Avatar
|
||||
import com.habitrpg.common.habitica.views.AvatarView
|
||||
import io.reactivex.rxjava3.core.BackpressureStrategy
|
||||
import io.reactivex.rxjava3.core.Flowable
|
||||
import io.reactivex.rxjava3.subjects.PublishSubject
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.habitrpg.android.habitica.ui.menu
|
|||
import android.content.Context
|
||||
import android.view.View
|
||||
import com.habitrpg.android.habitica.databinding.MenuBottomSheetBinding
|
||||
import com.habitrpg.android.habitica.ui.helpers.loadImage
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaBottomSheetDialog
|
||||
|
||||
class BottomSheetMenu(context: Context) : HabiticaBottomSheetDialog(context), View.OnClickListener {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,9 @@ import android.widget.TextView
|
|||
import com.habitrpg.android.habitica.databinding.PurchaseDialogBackgroundBinding
|
||||
import com.habitrpg.common.habitica.extensions.layoutInflater
|
||||
import com.habitrpg.android.habitica.models.shops.ShopItem
|
||||
import com.habitrpg.android.habitica.ui.AvatarView
|
||||
import com.habitrpg.android.habitica.ui.views.PixelArtView
|
||||
import com.habitrpg.common.habitica.models.Avatar
|
||||
import com.habitrpg.common.habitica.views.AvatarView
|
||||
import com.habitrpg.common.habitica.views.PixelArtView
|
||||
import java.util.*
|
||||
|
||||
class PurchaseDialogBackgroundContent(context: Context) : PurchaseDialogContent(context) {
|
||||
|
|
|
|||
|
|
@ -6,12 +6,13 @@ buildscript {
|
|||
repositories {
|
||||
google()
|
||||
maven { url "https://plugins.gradle.org/m2/" }
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.1.3'
|
||||
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
|
||||
classpath 'com.google.gms:google-services:4.3.10'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.0'
|
||||
classpath "io.realm:realm-gradle-plugin:10.10.1"
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.19.0"
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.habitrpg.common.habitica.models.notifications.GuildInvitationData
|
|||
import com.habitrpg.common.habitica.models.notifications.LoginIncentiveData
|
||||
import com.habitrpg.common.habitica.models.notifications.NewChatMessageData
|
||||
import com.habitrpg.common.habitica.models.notifications.NewStuffData
|
||||
import com.habitrpg.common.habitica.models.notifications.NotificationData
|
||||
import com.habitrpg.common.habitica.models.notifications.PartyInvitationData
|
||||
import com.habitrpg.common.habitica.models.notifications.QuestInvitationData
|
||||
import com.habitrpg.common.habitica.models.notifications.UnallocatedPointsData
|
||||
|
|
@ -75,7 +76,7 @@ class Notification {
|
|||
var type: String? = null
|
||||
var seen: Boolean? = null
|
||||
|
||||
//var data: NotificationData? = null
|
||||
var data: NotificationData? = null
|
||||
|
||||
fun getDataType(): java.lang.reflect.Type? {
|
||||
return when (type) {
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ import androidx.core.view.marginTop
|
|||
import coil.clear
|
||||
import coil.load
|
||||
import com.habitrpg.common.habitica.BuildConfig
|
||||
import com.habitrpg.common.habitica.extensions.dpToPx
|
||||
import com.habitrpg.common.habitica.R
|
||||
import com.habitrpg.common.habitica.extensions.DataBindingUtils
|
||||
import com.habitrpg.common.habitica.extensions.dpToPx
|
||||
import com.habitrpg.common.habitica.helpers.AppConfigManager
|
||||
import com.habitrpg.common.habitica.models.Avatar
|
||||
import java.util.Date
|
||||
|
|
@ -34,6 +34,7 @@ class AvatarView : FrameLayout {
|
|||
private var showPet = true
|
||||
private var showSleeping = true
|
||||
private var hasBackground: Boolean = false
|
||||
private var preview: Map<LayerType, String>? = null
|
||||
private var hasMount: Boolean = false
|
||||
private var hasPet: Boolean = false
|
||||
private val imageViewHolder = mutableListOf<ImageView>()
|
||||
|
|
@ -212,7 +213,10 @@ class AvatarView : FrameLayout {
|
|||
}
|
||||
|
||||
var backgroundName = avatar.preferences?.background
|
||||
if (showBackground && backgroundName?.isNotEmpty() == true) {
|
||||
if (preview != null) {
|
||||
layerMap[preview?.keys?.first()] = preview?.values?.first()
|
||||
if (resetHasAttributes) hasBackground = true
|
||||
} else if (showBackground && backgroundName?.isNotEmpty() == true) {
|
||||
backgroundName = substituteOrReturn(spriteSubstitutions["backgrounds"], backgroundName)
|
||||
layerMap[LayerType.BACKGROUND] = "background_$backgroundName"
|
||||
if (resetHasAttributes) hasBackground = true
|
||||
|
|
@ -429,9 +433,10 @@ class AvatarView : FrameLayout {
|
|||
}
|
||||
}
|
||||
|
||||
fun setAvatar(avatar: Avatar) {
|
||||
fun setAvatar(avatar: Avatar, preview: Map<LayerType, String>? = null) {
|
||||
val oldUser = this.avatar
|
||||
this.avatar = avatar
|
||||
preview?.let { this.preview = preview }
|
||||
|
||||
var equals = false
|
||||
if (oldUser != null) {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ plugins {
|
|||
id 'kotlin-kapt'
|
||||
id 'dagger.hilt.android.plugin'
|
||||
}
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
android {
|
||||
compileSdk 32
|
||||
|
|
@ -65,4 +66,9 @@ dependencies {
|
|||
|
||||
implementation "com.google.dagger:hilt-android:2.41"
|
||||
kapt "com.google.dagger:hilt-compiler:2.41"
|
||||
implementation "androidx.core:core-ktx:1.7.0"
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
}
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
Loading…
Reference in a new issue