diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 5c0a77e0c..a02846b0b 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -107,8 +107,8 @@ dependencies { implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" implementation "androidx.fragment:fragment-ktx:1.6.1" - implementation "androidx.paging:paging-runtime-ktx:3.1.1" - implementation "androidx.paging:paging-compose:1.0.0-alpha19" + implementation "androidx.paging:paging-runtime-ktx:$paging_version" + implementation "androidx.paging:paging-compose:$paging_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" implementation "com.google.accompanist:accompanist-themeadapter-material:$accompanist_version" @@ -168,7 +168,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = "1.4.7" + kotlinCompilerExtensionVersion = "1.5.1" } signingConfigs { diff --git a/Habitica/res/menu/menu_public_guild.xml b/Habitica/res/menu/menu_public_guild.xml deleted file mode 100644 index 9c9aa94d4..000000000 --- a/Habitica/res/menu/menu_public_guild.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Habitica/src/androidTest/java/com/habitrpg/android/habitica/HabiticaTestCase.kt b/Habitica/src/androidTest/java/com/habitrpg/android/habitica/HabiticaTestCase.kt index 89f8aa7fb..95036d5a9 100644 --- a/Habitica/src/androidTest/java/com/habitrpg/android/habitica/HabiticaTestCase.kt +++ b/Habitica/src/androidTest/java/com/habitrpg/android/habitica/HabiticaTestCase.kt @@ -13,7 +13,7 @@ import com.habitrpg.android.habitica.data.TaskRepository import com.habitrpg.android.habitica.data.TutorialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.NotificationsManager import com.habitrpg.android.habitica.helpers.SoundManager import com.habitrpg.android.habitica.interactors.FeedPetUseCase diff --git a/Habitica/src/androidTest/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragmentTest.kt b/Habitica/src/androidTest/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragmentTest.kt index 3fc9f9aa0..5cfd1e1eb 100644 --- a/Habitica/src/androidTest/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragmentTest.kt +++ b/Habitica/src/androidTest/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragmentTest.kt @@ -5,7 +5,7 @@ import android.view.View import androidx.fragment.app.testing.launchFragmentInContainer import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.FragmentRecyclerviewBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.FragmentTestCase import io.github.kakaocup.kakao.common.views.KView import io.github.kakaocup.kakao.recycler.KRecyclerItem diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt index f0d5d823a..c6c179b80 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt @@ -18,10 +18,7 @@ import android.util.Log import androidx.appcompat.app.AppCompatDelegate import androidx.core.content.edit import androidx.lifecycle.DefaultLifecycleObserver -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.OnLifecycleEvent import androidx.lifecycle.ProcessLifecycleOwner import androidx.preference.PreferenceManager import com.google.android.gms.wearable.Wearable diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt index d17a270db..729d2f0da 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt @@ -4,6 +4,7 @@ import android.content.Intent import androidx.core.os.bundleOf import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.helpers.notifications.PushNotificationManager +import com.habitrpg.common.habitica.helpers.MainNavigationController import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.MainScope import kotlinx.coroutines.launch diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/FallExtraGemsHabiticaPromotion.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/FallExtraGemsHabiticaPromotion.kt index 0fb1d45c7..70e3d8797 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/FallExtraGemsHabiticaPromotion.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/FallExtraGemsHabiticaPromotion.kt @@ -12,7 +12,7 @@ import com.habitrpg.android.habitica.databinding.FragmentGemPurchaseBinding import com.habitrpg.android.habitica.databinding.FragmentSubscriptionBinding import com.habitrpg.android.habitica.databinding.PurchaseGemViewBinding import com.habitrpg.android.habitica.extensions.DateUtils -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.PromoInfoFragment import com.habitrpg.android.habitica.ui.views.promo.PromoMenuView import java.text.SimpleDateFormat diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/GiftOneGetOneHabiticaPromotion.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/GiftOneGetOneHabiticaPromotion.kt index 44028e1a0..a72b53199 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/GiftOneGetOneHabiticaPromotion.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/GiftOneGetOneHabiticaPromotion.kt @@ -10,7 +10,7 @@ import com.habitrpg.android.habitica.databinding.FragmentGemPurchaseBinding import com.habitrpg.android.habitica.databinding.FragmentSubscriptionBinding import com.habitrpg.android.habitica.databinding.PurchaseGemViewBinding import com.habitrpg.android.habitica.extensions.DateUtils -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.PromoInfoFragment import com.habitrpg.android.habitica.ui.fragments.purchases.SubscriptionFragment import com.habitrpg.android.habitica.ui.views.promo.PromoMenuView diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt index 4ebcea8fb..c36b342b4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt @@ -12,7 +12,7 @@ import com.habitrpg.android.habitica.databinding.FragmentGemPurchaseBinding import com.habitrpg.android.habitica.databinding.FragmentSubscriptionBinding import com.habitrpg.android.habitica.databinding.PurchaseGemViewBinding import com.habitrpg.android.habitica.extensions.DateUtils -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.PromoInfoFragment import com.habitrpg.android.habitica.ui.views.promo.PromoMenuView import java.text.SimpleDateFormat diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/Survey2021Promotion.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/Survey2021Promotion.kt index 858c99b3e..c1cd90f5c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/Survey2021Promotion.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/Survey2021Promotion.kt @@ -8,7 +8,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.FragmentGemPurchaseBinding import com.habitrpg.android.habitica.databinding.FragmentSubscriptionBinding import com.habitrpg.android.habitica.databinding.PurchaseGemViewBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.PromoInfoFragment import com.habitrpg.android.habitica.ui.fragments.PromoWebFragmentArgs import com.habitrpg.android.habitica.ui.views.promo.PromoMenuView diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.kt index 2b9366288..8d1079dfb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.kt @@ -6,7 +6,7 @@ import android.view.ViewGroup import android.widget.FrameLayout import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.OverlayTutorialBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.TutorialStep import com.habitrpg.common.habitica.extensions.layoutInflater diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BirthdayActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BirthdayActivity.kt index a6b6f4765..5d8c53bdb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BirthdayActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BirthdayActivity.kt @@ -63,7 +63,7 @@ import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.PurchaseHandler import com.habitrpg.android.habitica.ui.theme.HabiticaTheme import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt index 6076f2445..df9aebe37 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt @@ -23,7 +23,7 @@ import com.habitrpg.android.habitica.data.ChallengeRepository import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.databinding.ActivityCreateChallengeBinding import com.habitrpg.android.habitica.extensions.addCloseButton -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.social.Challenge import com.habitrpg.android.habitica.models.social.Group import com.habitrpg.android.habitica.models.tasks.Task diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt index fa1723cc2..fe5151d94 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt @@ -12,7 +12,7 @@ import androidx.lifecycle.lifecycleScope import androidx.navigation.navArgs import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.ActivityClassSelectionBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.user.Gear import com.habitrpg.android.habitica.models.user.Items import com.habitrpg.android.habitica.models.user.Outfit diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.kt index 0fc2288d1..26ea18822 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.kt @@ -27,7 +27,7 @@ import com.habitrpg.android.habitica.data.InventoryRepository import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.databinding.ActivityFullProfileBinding import com.habitrpg.android.habitica.extensions.addCancelButton -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.UserStatComputer import com.habitrpg.android.habitica.models.Achievement import com.habitrpg.android.habitica.models.inventory.Equipment diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt index df7508924..68cc8b6bc 100755 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt @@ -45,7 +45,7 @@ import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.NotificationOpenHandler import com.habitrpg.android.habitica.helpers.SoundManager import com.habitrpg.android.habitica.helpers.collectAsStateLifecycleAware diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt index f39227ce8..82f42886e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt @@ -145,7 +145,6 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget Notification.Type.GROUP_TASK_APPROVED.type -> createGroupTaskApprovedNotification(it) Notification.Type.GROUP_TASK_REQUIRES_APPROVAL.type -> createGroupTaskNeedsApprovalNotification(it) Notification.Type.PARTY_INVITATION.type -> createPartyInvitationNotification(it) - Notification.Type.GUILD_INVITATION.type -> createGuildInvitationNotification(it) Notification.Type.QUEST_INVITATION.type -> createQuestInvitationNotification(it) Notification.Type.ITEM_RECEIVED.type -> createItemReceivedNotification(it) else -> null @@ -375,17 +374,6 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget } } - private fun createGuildInvitationNotification(notification: Notification): View? { - val data = notification.data as? GuildInvitationData - val stringId = if (data?.invitation?.publicGuild == false) R.string.invited_to_private_guild else R.string.invited_to_public_guild - - return createActionableNotificationItem( - notification, - fromHtml(getString(stringId, data?.invitation?.name)), - data?.invitation?.publicGuild == true - ) - } - private fun createQuestInvitationNotification(notification: Notification): View? { val data = notification.data as? QuestInvitationData diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskSummaryActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskSummaryActivity.kt index b439e5f6f..21b48a821 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskSummaryActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskSummaryActivity.kt @@ -47,7 +47,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.TaskRepository import com.habitrpg.android.habitica.data.UserRepository -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.TaskDescriptionBuilder import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.ui.theme.HabiticaTheme diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationEquipmentRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationEquipmentRecyclerViewAdapter.kt index e257fc504..f6da2f440 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationEquipmentRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationEquipmentRecyclerViewAdapter.kt @@ -11,7 +11,7 @@ import androidx.core.os.bundleOf import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.CustomizationGridItemBinding import com.habitrpg.android.habitica.databinding.DialogPurchaseCustomizationBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.inventory.CustomizationSet import com.habitrpg.android.habitica.models.inventory.Equipment import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.kt index 8817c2332..4374332c0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.kt @@ -9,7 +9,7 @@ import com.habitrpg.android.habitica.R 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.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.inventory.Customization import com.habitrpg.android.habitica.models.inventory.CustomizationSet import com.habitrpg.android.habitica.models.shops.ShopItem diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ShopRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ShopRecyclerAdapter.kt index 203e25976..b68908091 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ShopRecyclerAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ShopRecyclerAdapter.kt @@ -14,7 +14,7 @@ import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.shops.Shop import com.habitrpg.android.habitica.models.shops.ShopCategory import com.habitrpg.android.habitica.models.shops.ShopItem diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt index 22065222a..afdfad377 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt @@ -9,7 +9,7 @@ import androidx.recyclerview.widget.RecyclerView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.ShopHeaderBinding import com.habitrpg.android.habitica.extensions.inflate -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.inventory.Animal import com.habitrpg.android.habitica.models.inventory.Egg import com.habitrpg.android.habitica.models.inventory.Food diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt index 441d2ff77..c6b04feed 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt @@ -14,7 +14,7 @@ import com.google.firebase.analytics.FirebaseAnalytics import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.FragmentAboutBinding import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.common.habitica.extensions.DataBindingUtils import com.plattysoft.leonids.ParticleSystem import dagger.hilt.android.AndroidEntryPoint diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt index 54a6db9e6..8f358a526 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt @@ -29,7 +29,7 @@ import com.habitrpg.android.habitica.extensions.getMinuteOrSeconds import com.habitrpg.android.habitica.extensions.getRemainingString import com.habitrpg.android.habitica.extensions.getShortRemainingString import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.WorldStateEvent import com.habitrpg.android.habitica.models.inventory.Item import com.habitrpg.android.habitica.models.promotions.HabiticaPromotion diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt index 508838cd4..81e5b8053 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt @@ -12,7 +12,7 @@ import android.webkit.WebViewClient import androidx.lifecycle.lifecycleScope import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.FragmentNewsBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.common.habitica.helpers.ExceptionHandler import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt index 786617a57..3c31640f3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt @@ -1,6 +1,5 @@ package com.habitrpg.android.habitica.ui.fragments.inventory.customization -import android.graphics.Bitmap import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -19,7 +18,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp @@ -29,13 +27,12 @@ import androidx.lifecycle.map import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.InventoryRepository import com.habitrpg.android.habitica.databinding.FragmentComposeScrollingBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.inventory.Equipment import com.habitrpg.android.habitica.ui.activities.BaseActivity import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.theme.HabiticaTheme import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel -import com.habitrpg.android.habitica.ui.views.HabiticaButton import com.habitrpg.android.habitica.ui.views.SegmentedControl import com.habitrpg.android.habitica.ui.views.equipment.AvatarCustomizationOverviewView import com.habitrpg.android.habitica.ui.views.equipment.EquipmentOverviewView diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt index 8e44a4088..deb563a3e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt @@ -11,7 +11,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.InventoryRepository import com.habitrpg.android.habitica.databinding.FragmentRefreshRecyclerviewBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.adapter.inventory.EquipmentRecyclerViewAdapter import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemDialogFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemDialogFragment.kt index 2c0f865fe..0a22b7112 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemDialogFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemDialogFragment.kt @@ -16,7 +16,7 @@ import com.habitrpg.android.habitica.extensions.observeOnce import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.interactors.FeedPetUseCase import com.habitrpg.android.habitica.interactors.HatchPetUseCase import com.habitrpg.android.habitica.models.inventory.Egg diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt index 860b0ef49..171a77016 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt @@ -20,7 +20,7 @@ import com.habitrpg.android.habitica.extensions.observeOnce import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.interactors.HatchPetUseCase import com.habitrpg.android.habitica.models.inventory.Egg import com.habitrpg.android.habitica.models.inventory.Food diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountPreferenceFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountPreferenceFragment.kt index 02fefcee3..5c4bffedd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountPreferenceFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountPreferenceFragment.kt @@ -23,7 +23,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.ApiClient import com.habitrpg.android.habitica.extensions.addCancelButton import com.habitrpg.android.habitica.extensions.addCloseButton -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.activities.FixCharacterValuesActivity import com.habitrpg.android.habitica.ui.fragments.preferences.HabiticaAccountDialog.AccountUpdateConfirmed diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt index 35fdc780e..40688869a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt @@ -49,7 +49,7 @@ class EmailNotificationsPreferencesFragment : BasePreferencesFragment(), SharedP preference?.isChecked = isChecked == true } - override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { + override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) { if (isSettingUser) { return } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt index 8ab9c66b4..2618df392 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt @@ -50,7 +50,7 @@ class PushNotificationsPreferencesFragment : BasePreferencesFragment(), SharedPr preference?.isChecked = isChecked == true } - override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { + override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) { if (isSettingUser) { return } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt index 26fda7041..55c820e82 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt @@ -19,7 +19,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.databinding.FragmentChatBinding import com.habitrpg.android.habitica.extensions.observeOnce import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.ui.activities.FullProfileActivity import com.habitrpg.android.habitica.ui.activities.MainActivity diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt index 15c395fc0..666080619 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt @@ -22,7 +22,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.databinding.FragmentInboxMessageListBinding import com.habitrpg.android.habitica.extensions.addOkButton import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.ui.activities.FullProfileActivity import com.habitrpg.android.habitica.ui.activities.MainActivity diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxOverviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxOverviewFragment.kt index a9db6cd71..5531346c2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxOverviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxOverviewFragment.kt @@ -17,7 +17,7 @@ import com.habitrpg.android.habitica.databinding.DialogChooseMessageRecipientBin import com.habitrpg.android.habitica.databinding.FragmentInboxBinding import com.habitrpg.android.habitica.extensions.getAgoString import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.social.InboxConversation import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt index 233d1d4ef..c05f70686 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt @@ -19,7 +19,7 @@ import com.habitrpg.android.habitica.databinding.DialogChallengeDetailTaskGroupB import com.habitrpg.android.habitica.databinding.FragmentChallengeDetailBinding import com.habitrpg.android.habitica.extensions.addCloseButton import com.habitrpg.android.habitica.extensions.inflate -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.social.Challenge import com.habitrpg.android.habitica.models.tasks.Task diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt index 21911237e..9ba0520f2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt @@ -11,7 +11,7 @@ import com.habitrpg.android.habitica.data.ChallengeRepository import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.databinding.FragmentRefreshRecyclerviewBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.social.Challenge import com.habitrpg.android.habitica.models.social.Group import com.habitrpg.android.habitica.ui.adapter.social.ChallengesListViewAdapter diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt index 55c5f03d2..7ff3cf72f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt @@ -16,7 +16,7 @@ import com.habitrpg.android.habitica.data.ChallengeRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.databinding.FragmentGuildDetailBinding import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.social.Challenge import com.habitrpg.android.habitica.models.social.Group diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/NoPartyFragmentFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/NoPartyFragmentFragment.kt index 06d080582..aa0d76244 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/NoPartyFragmentFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/NoPartyFragmentFragment.kt @@ -18,7 +18,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.databinding.FragmentNoPartyBinding import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.activities.GroupFormActivity import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt index 80ba74cc0..ce60a00cd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt @@ -22,7 +22,7 @@ import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.databinding.FragmentPartyDetailBinding import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.helpers.HapticFeedbackManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.inventory.QuestContent import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.social.Challenge diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.kt index 5f7386758..c431924eb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.kt @@ -16,7 +16,7 @@ import androidx.viewpager2.adapter.FragmentStateAdapter import com.google.android.material.tabs.TabLayoutMediator import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.FragmentViewpagerBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.social.Group import com.habitrpg.android.habitica.ui.activities.GroupFormActivity import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt index 61d27b91e..ea84a6923 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt @@ -52,7 +52,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.databinding.FragmentComposeBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.invitations.InviteResponse import com.habitrpg.android.habitica.ui.fragments.BaseFragment import com.habitrpg.android.habitica.ui.theme.HabiticaTheme diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt index ed0b45a22..39603f947 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt @@ -50,7 +50,6 @@ import androidx.paging.PagingSource import androidx.paging.PagingState import androidx.paging.cachedIn import androidx.paging.compose.collectAsLazyPagingItems -import androidx.paging.compose.items import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository @@ -252,13 +251,13 @@ fun PartySeekingView( } } items( - items = pageData + pageData.itemCount ) { - if (it == null) return@items + val item = pageData[it] ?: return@items PartySeekingListItem( - user = it, - inviteState = viewModel.inviteStates[it.id]?.second ?: LoadingButtonState.CONTENT, - isInvited = viewModel.inviteStates[it.id]?.first ?: false, + user = item, + inviteState = viewModel.inviteStates[item.id]?.second ?: LoadingButtonState.CONTENT, + isInvited = viewModel.inviteStates[item.id]?.first ?: false, modifier = Modifier .animateItemPlacement() .padding(horizontal = 14.dp) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt index 304ffbbfa..f312273fa 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt @@ -14,7 +14,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.FragmentSupportBugFixBinding import com.habitrpg.android.habitica.databinding.KnownIssueBinding import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel import com.habitrpg.common.habitica.extensions.layoutInflater diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt index 64cef3592..eb1b4557f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt @@ -25,7 +25,7 @@ import com.habitrpg.android.habitica.data.FAQRepository import com.habitrpg.android.habitica.databinding.FragmentFaqOverviewBinding import com.habitrpg.android.habitica.databinding.SupportFaqItemBinding import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/SupportMainFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/SupportMainFragment.kt index cf9ce3274..8ff73a477 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/SupportMainFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/SupportMainFragment.kt @@ -11,7 +11,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.FAQRepository import com.habitrpg.android.habitica.databinding.FragmentSupportMainBinding import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar import com.habitrpg.common.habitica.helpers.ExceptionHandler diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt index 01856b6bb..07335b8ed 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt @@ -23,7 +23,7 @@ import com.habitrpg.android.habitica.extensions.observeOnce import com.habitrpg.android.habitica.extensions.setScaledPadding import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.HapticFeedbackManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.NotificationsManager import com.habitrpg.android.habitica.helpers.SoundManager import com.habitrpg.android.habitica.models.tasks.ChecklistItem diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt index b730c753d..e468501c5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt @@ -27,7 +27,7 @@ import com.habitrpg.android.habitica.extensions.setTintWith import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.activities.TaskFormActivity import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.viewmodels.TasksViewModel diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/GroupViewModel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/GroupViewModel.kt index be7160996..33f0a4986 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/GroupViewModel.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/GroupViewModel.kt @@ -10,7 +10,7 @@ import androidx.lifecycle.viewModelScope import com.habitrpg.android.habitica.data.ChallengeRepository import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.NotificationsManager import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.social.Challenge diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt index 9b4245415..e0e31108b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.viewModelScope import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.NotificationsManager import com.habitrpg.android.habitica.models.social.UserParty import com.habitrpg.android.habitica.models.user.User diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt index 113f9e065..72582c381 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt @@ -32,7 +32,6 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.MaterialTheme import androidx.compose.material.Text -import androidx.compose.material.primarySurface import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -51,7 +50,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.os.bundleOf import com.habitrpg.android.habitica.R -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.TeamPlan import com.habitrpg.android.habitica.models.auth.LocalAuthentication import com.habitrpg.android.habitica.models.members.Member diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/SparkView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/SparkView.kt index d422ebade..e1f8cb7f7 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/SparkView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/SparkView.kt @@ -83,7 +83,7 @@ class SparkView @JvmOverloads constructor( setMeasuredDimension(width, height) } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { super.onDraw(canvas) val thisCanvas = canvas ?: return val centerHorizontal = width / 2f diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/AchievementDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/AchievementDialog.kt index f06124298..49482fbe6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/AchievementDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/AchievementDialog.kt @@ -7,7 +7,7 @@ import android.view.View import android.widget.TextView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.DialogAchievementDetailBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.user.User import com.habitrpg.common.habitica.extensions.fromHtml import com.habitrpg.common.habitica.extensions.layoutInflater diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/FirstDropDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/FirstDropDialog.kt index a9bb0a56c..d09ed1b51 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/FirstDropDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/FirstDropDialog.kt @@ -3,7 +3,7 @@ package com.habitrpg.android.habitica.ui.views.dialogs import android.content.Context import android.view.LayoutInflater import com.habitrpg.android.habitica.R -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.common.habitica.extensions.loadImage import com.habitrpg.common.habitica.views.PixelArtView diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientGemsDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientGemsDialog.kt index 3b5bdc8c3..5e6a47ab8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientGemsDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientGemsDialog.kt @@ -11,7 +11,7 @@ import com.google.firebase.analytics.FirebaseAnalytics import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.extensions.addCloseButton import com.habitrpg.android.habitica.helpers.AppConfigManager -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.PurchaseHandler import com.habitrpg.android.habitica.helpers.PurchaseTypes import com.habitrpg.android.habitica.interactors.InsufficientGemsUseCase diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientHourglassesDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientHourglassesDialog.kt index 115e0f181..b63249fbd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientHourglassesDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/insufficientCurrency/InsufficientHourglassesDialog.kt @@ -5,7 +5,7 @@ import android.os.Bundle import androidx.core.os.bundleOf import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.extensions.addCloseButton -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper class InsufficientHourglassesDialog(context: Context) : InsufficientCurrencyDialog(context) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/BirthdayMenuView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/BirthdayMenuView.kt index 23e68422d..cc48d1d78 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/BirthdayMenuView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/BirthdayMenuView.kt @@ -33,7 +33,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.extensions.getShortRemainingString -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.views.PixelArtView import kotlinx.coroutines.cancel import kotlinx.coroutines.delay diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/SubscriptionBuyGemsPromoView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/SubscriptionBuyGemsPromoView.kt index fbd33c960..9c05b4ff3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/SubscriptionBuyGemsPromoView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/promo/SubscriptionBuyGemsPromoView.kt @@ -7,7 +7,7 @@ import android.widget.RelativeLayout import androidx.core.os.bundleOf import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.extensions.inflate -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.common.habitica.extensions.getThemeColor class SubscriptionBuyGemsPromoView @JvmOverloads constructor( diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt index 4ec28620d..c158fec83 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt @@ -24,7 +24,7 @@ import com.habitrpg.android.habitica.helpers.Analytics import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HapticFeedbackManager import com.habitrpg.android.habitica.helpers.HitType -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.shops.Shop import com.habitrpg.android.habitica.models.shops.ShopItem import com.habitrpg.android.habitica.models.user.OwnedItem diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt index 127cf26a8..9767dd4f4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt @@ -9,7 +9,7 @@ import androidx.core.content.ContextCompat import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.ChatBarViewBinding import com.habitrpg.android.habitica.extensions.OnChangeTextWatcher -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.ui.helpers.AutocompleteAdapter import com.habitrpg.android.habitica.ui.helpers.AutocompleteTokenizer diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/InvitationsView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/InvitationsView.kt index bcf2a6bce..302f54347 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/InvitationsView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/InvitationsView.kt @@ -9,7 +9,7 @@ import androidx.lifecycle.lifecycleScope import com.habitrpg.android.habitica.MainNavDirections import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.ViewInvitationBinding -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.invitations.GenericInvitation import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.common.habitica.extensions.layoutInflater diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt index c1aea3b32..cfa10bd73 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt @@ -50,22 +50,16 @@ class OldQuestProgressView : LinearLayout { binding.bossRageView.setSecondaryIcon(HabiticaIconsHelper.imageOfRage()) } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { rect.set( 0.0f, 0.0f, - ( - canvas?.width?.toFloat() - ?: 1.0f - ) / displayDensity, - ( - canvas?.height?.toFloat() - ?: 1.0f - ) / displayDensity + canvas.width.toFloat() / displayDensity, + canvas.height.toFloat() / displayDensity ) - canvas?.scale(displayDensity, displayDensity) + canvas.scale(displayDensity, displayDensity) HabiticaIcons.drawQuestBackground(canvas, rect, lightGray, darkGray, mediumGray) - canvas?.scale(1.0f / displayDensity, 1.0f / displayDensity) + canvas.scale(1.0f / displayDensity, 1.0f / displayDensity) super.onDraw(canvas) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/PartySeekingListItem.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/PartySeekingListItem.kt index 7c1e49ff0..9ffeae46e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/PartySeekingListItem.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/PartySeekingListItem.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.habitrpg.android.habitica.MainNavDirections import com.habitrpg.android.habitica.R -import com.habitrpg.android.habitica.helpers.MainNavigationController +import com.habitrpg.common.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.auth.LocalAuthentication import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.members.MemberFlags diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestProgressView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestProgressView.kt index 5ea1ee087..d6b43a192 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestProgressView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestProgressView.kt @@ -91,14 +91,14 @@ class QuestProgressView : LinearLayout { } } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { if (quest?.isValid == true) { val colors = quest?.colors if (colors != null) { rect.set(0.0f, 0.0f, width.toFloat() / displayDensity, height.toFloat() / displayDensity) - canvas?.scale(displayDensity, displayDensity) + canvas.scale(displayDensity, displayDensity) HabiticaIcons.drawQuestBackground(canvas, rect, colors.darkColor, colors.mediumColor, colors.extraLightColor) - canvas?.scale(1.0f / displayDensity, 1.0f / displayDensity) + canvas.scale(1.0f / displayDensity, 1.0f / displayDensity) } } super.onDraw(canvas) @@ -256,7 +256,6 @@ class QuestProgressView : LinearLayout { private fun getLocationName(key: String): String { return when (key) { "market" -> context.getString(R.string.market) - "tavern" -> context.getString(R.string.sidebar_tavern) "questShop" -> context.getString(R.string.questShop) "seasonalShop" -> context.getString(R.string.seasonalShop) "stable" -> context.getString(R.string.sidebar_stable) diff --git a/build.gradle b/build.gradle index 62a00add5..358c13946 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile buildscript { ext { min_sdk = 21 - target_sdk = 33 + target_sdk = 34 app_version_name = '' app_version_code = 0 @@ -13,23 +13,24 @@ buildscript { amplitude_version = '1.6.1' appcompat_version = '1.6.1' coil_version = '2.4.0' - compose_version = '1.4.3' + compose_version = '1.5.0' core_ktx_version = '1.10.1' - coroutines_version = '1.6.4' + coroutines_version = '1.7.2' daggerhilt_version = '2.47' firebase_bom = '31.3.0' kotest_version = '5.6.2' - kotlin_version = '1.8.21' + kotlin_version = '1.9.0' ktlint_version = '0.50.0' lifecycle_version = '2.6.1' markwon_version = '4.6.2' mockk_version = '1.13.4' moshi_version = '1.14.0' - navigation_version = '2.5.3' + navigation_version = '2.7.0' okhttp_version = '4.11.0' + paging_version = '3.2.0' play_wearables_version = '18.0.0' play_auth_version = '20.6.0' - preferences_version = '1.2.0' + preferences_version = '1.2.1' realm_version = '1.0.2' retrofit_version = '2.9.0' recyclerview_version = '1.3.1' diff --git a/common/build.gradle.kts b/common/build.gradle.kts index a83bdddf2..e0b86398b 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -107,6 +107,9 @@ dependencies { // Image Management Library implementation("io.coil-kt:coil:$coil_version") implementation("io.coil-kt:coil-gif:$coil_version") + implementation("androidx.recyclerview:recyclerview:1.3.1") + implementation("androidx.navigation:navigation-common-ktx:2.7.0") + implementation("androidx.navigation:navigation-runtime-ktx:2.7.0") testImplementation("io.mockk:mockk:$mockk_version") testImplementation("io.mockk:mockk-android:$mockk_version") diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/MainNavigationController.kt b/common/src/main/java/com/habitrpg/common/habitica/helpers/MainNavigationController.kt similarity index 85% rename from Habitica/src/main/java/com/habitrpg/android/habitica/helpers/MainNavigationController.kt rename to common/src/main/java/com/habitrpg/common/habitica/helpers/MainNavigationController.kt index 8f5429c5a..a9dfc1e85 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/MainNavigationController.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/helpers/MainNavigationController.kt @@ -1,5 +1,6 @@ -package com.habitrpg.android.habitica.helpers +package com.habitrpg.common.habitica.helpers +import android.content.ActivityNotFoundException import android.content.Intent import android.net.Uri import android.os.Bundle @@ -23,7 +24,7 @@ object MainNavigationController { get() = controllerReference?.get() != null fun setup(navController: NavController) { - this.controllerReference = WeakReference(navController) + controllerReference = WeakReference(navController) } fun updateLabel(destinationID: Int, label: String) { @@ -67,6 +68,13 @@ object MainNavigationController { fun navigate(uri: Uri) { if (navController?.graph?.hasDeepLink(uri) == true) { navController?.navigate(uri) + } else { + val intent = Intent(Intent.ACTION_VIEW, uri) + try { + navController?.context?.startActivity(intent) + } catch (e: ActivityNotFoundException) { + // No application can handle the link + } } } diff --git a/common/src/main/java/com/habitrpg/common/habitica/helpers/MarkdownParser.kt b/common/src/main/java/com/habitrpg/common/habitica/helpers/MarkdownParser.kt index 44e7e5e70..727bbfdb5 100644 --- a/common/src/main/java/com/habitrpg/common/habitica/helpers/MarkdownParser.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/helpers/MarkdownParser.kt @@ -1,8 +1,6 @@ package com.habitrpg.common.habitica.helpers -import android.content.ActivityNotFoundException import android.content.Context -import android.content.Intent import android.graphics.Rect import android.net.Uri import android.text.SpannableString @@ -45,7 +43,7 @@ object MarkdownParser { .addSchemeHandler(FileSchemeHandler.createWithAssets(context.assets)) } ) - .usePlugin(this.createImageSizeResolverScaleDpiPlugin(context)) + .usePlugin(createImageSizeResolverScaleDpiPlugin(context)) .usePlugin(MovementMethodPlugin.create(LinkMovementMethod.getInstance())) .usePlugin(LinkifyPlugin.create(Linkify.WEB_URLS)) .build() @@ -228,10 +226,5 @@ private fun handleUrlClicks(context: Context, url: String) { Uri.parse(url) } } - val intent = Intent(Intent.ACTION_VIEW, webpage) - try { - context.startActivity(intent) - } catch (e: ActivityNotFoundException) { - // No application can handle the link - } + MainNavigationController.navigate(webpage) } diff --git a/common/src/main/java/com/habitrpg/common/habitica/views/AvatarView.kt b/common/src/main/java/com/habitrpg/common/habitica/views/AvatarView.kt index 2d0ace02f..8c2da7ace 100644 --- a/common/src/main/java/com/habitrpg/common/habitica/views/AvatarView.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/views/AvatarView.kt @@ -484,7 +484,7 @@ class AvatarView : FrameLayout { } } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { super.onDraw(canvas) initAvatarRectMatrix() @@ -497,7 +497,7 @@ class AvatarView : FrameLayout { override fun invalidateDrawable(drawable: Drawable) { invalidate() - if (avatarCanvas != null) draw(avatarCanvas) + avatarCanvas?.let { draw(it) } } enum class LayerType { diff --git a/common/src/main/java/com/habitrpg/common/habitica/views/PixelArtView.kt b/common/src/main/java/com/habitrpg/common/habitica/views/PixelArtView.kt index 23a08d2c7..0fb3d3606 100644 --- a/common/src/main/java/com/habitrpg/common/habitica/views/PixelArtView.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/views/PixelArtView.kt @@ -61,12 +61,12 @@ class PixelArtView @JvmOverloads constructor( targetRect = Rect(left, top, left + targetWidth, top + targetHeight) } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { if (bitmap == null) { super.onDraw(canvas) return } val bitmap = bitmap ?: return - canvas?.drawBitmap(bitmap, null, targetRect, paint) + canvas.drawBitmap(bitmap, null, targetRect, paint) } } diff --git a/wearos/build.gradle b/wearos/build.gradle index 0d3291b97..00716c281 100644 --- a/wearos/build.gradle +++ b/wearos/build.gradle @@ -141,7 +141,7 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" implementation "androidx.preference:preference-ktx:$preferences_version" - implementation "androidx.navigation:navigation-fragment-ktx:2.5.3" + implementation "androidx.navigation:navigation-fragment-ktx:2.7.0" implementation "com.google.android.gms:play-services-auth:$play_auth_version" diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/MainApplication.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/MainApplication.kt index 5ff8c9f32..2ffc9babf 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/MainApplication.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/MainApplication.kt @@ -8,7 +8,7 @@ import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase import com.habitrpg.android.habitica.BuildConfig import com.habitrpg.common.habitica.extensions.setupCoil -import com.habitrpg.common.habitica.helpers.MarkdownParser +import com.habitrpg.android.habitica.helpers.MarkdownParser import com.habitrpg.wearos.habitica.data.repositories.TaskRepository import com.habitrpg.wearos.habitica.data.repositories.UserRepository import com.habitrpg.wearos.habitica.ui.activities.BaseActivity @@ -36,7 +36,7 @@ class MainApplication : Application() { override fun onCreate() { super.onCreate() - MarkdownParser.setup(this) + com.habitrpg.android.habitica.helpers.MarkdownParser.setup(this) setupCoil() setupFirebase()