diff --git a/Habitica/build.gradle b/Habitica/build.gradle
index c9e3bc90e..74c19431c 100644
--- a/Habitica/build.gradle
+++ b/Habitica/build.gradle
@@ -147,7 +147,7 @@ android {
}
defaultConfig {
- minSdkVersion 21
+ minSdkVersion min_sdk
applicationId "com.habitrpg.android.habitica"
vectorDrawables.useSupportLibrary = true
buildConfigField "String", "STORE", "\"google\""
diff --git a/Habitica/res/layout/drawer_main_section_header.xml b/Habitica/res/layout/drawer_main_section_header.xml
index da8bbd038..9bae55d9a 100644
--- a/Habitica/res/layout/drawer_main_section_header.xml
+++ b/Habitica/res/layout/drawer_main_section_header.xml
@@ -1,13 +1,4 @@
-
\ No newline at end of file
+ android:layout_height="30dp" />
\ No newline at end of file
diff --git a/Habitica/res/navigation/navigation.xml b/Habitica/res/navigation/navigation.xml
index d192e2c80..e11fc3bac 100644
--- a/Habitica/res/navigation/navigation.xml
+++ b/Habitica/res/navigation/navigation.xml
@@ -4,16 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_nav"
app:startDestination="@id/tasksFragment">
-
-
-
-
-
+ android:id="@+id/openEquipmentDetail"
+ app:destination="@id/equipmentDetailFragment" />
-
-
-
-
= 0) {
- notifyItemChanged(visiblePosition)
- }
- }
- }
- }
-
internal val items: MutableList = ArrayList()
var selectedItem: Int? = null
set(value) {
@@ -77,32 +61,6 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int) : Recycl
notifyDataSetChanged()
}
- fun setTeams(teams: List) {
- var teamHeaderIndex = -1
- var nextHeaderIndex = -1
- for ((index, item) in items.withIndex()) {
- if (teamHeaderIndex != -1 && item.isHeader) {
- nextHeaderIndex = index
- break
- } else if (item.identifier == NavigationDrawerFragment.SIDEBAR_TEAMS) {
- teamHeaderIndex = index
- }
- }
- if (teamHeaderIndex != -1 && nextHeaderIndex != -1) {
- for (x in nextHeaderIndex - 1 downTo teamHeaderIndex + 1) {
- items.removeAt(x)
- notifyItemRemoved(x)
- }
- for ((index, team) in teams.withIndex()) {
- val item = HabiticaDrawerItem(R.id.tasksFragment, team.id, team.summary)
- item.bundle = bundleOf(Pair("ownerID", team.id))
- val newIndex = teamHeaderIndex + index + 1
- items.add(newIndex, item)
- notifyItemInserted(newIndex)
- }
- }
- }
-
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val drawerItem = getItem(position)
when {
@@ -112,10 +70,6 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int) : Recycl
itemHolder?.bind(drawerItem, drawerItem.transitionId == selectedItem)
itemHolder?.itemView?.setOnClickListener { itemSelectedEvents.onNext(drawerItem) }
}
- getItemViewType(position) == 1 -> {
- (holder as? SectionHeaderViewHolder)?.backgroundTintColor = backgroundTintColor
- (holder as? SectionHeaderViewHolder)?.bind(drawerItem)
- }
getItemViewType(position) == 5 -> {
activePromo?.let { promo ->
(holder as? PromoMenuViewHolder)?.bind(promo)
@@ -216,10 +170,5 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int) : Recycl
class SectionHeaderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var backgroundTintColor: Int = 0
-
- fun bind(drawerItem: HabiticaDrawerItem) {
- (itemView as? TextView)?.text = drawerItem.text
- itemView.setBackgroundColor(backgroundTintColor)
- }
}
}
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 c370de647..8759207e8 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
@@ -52,7 +52,6 @@ import io.reactivex.rxjava3.disposables.CompositeDisposable
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
-import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.launch
import java.util.Calendar
import java.util.Date
@@ -176,19 +175,6 @@ class NavigationDrawerFragment : DialogFragment() {
)
)
- if (configManager.enableTeamBoards()) {
- lifecycleScope.launch(ExceptionHandler.coroutine()) {
- userRepository.getTeamPlans()
- .distinctUntilChanged()
- .collect {
- getItemWithIdentifier(SIDEBAR_TEAMS)?.isVisible = it.isNotEmpty()
- adapter.setTeams(it)
- }
- }
- } else {
- getItemWithIdentifier(SIDEBAR_TEAMS)?.isVisible = false
- }
-
userViewModel.user.observe(viewLifecycleOwner) {
if (it != null) {
updateUser(it)
@@ -356,9 +342,7 @@ class NavigationDrawerFragment : DialogFragment() {
items.add(HabiticaDrawerItem(R.id.statsFragment, SIDEBAR_STATS, context.getString(R.string.sidebar_stats)))
items.add(HabiticaDrawerItem(R.id.achievementsFragment, SIDEBAR_ACHIEVEMENTS, context.getString(R.string.sidebar_achievements)))
- items.add(HabiticaDrawerItem(0, SIDEBAR_TEAMS, context.getString(R.string.sidebar_teams), true))
-
- items.add(HabiticaDrawerItem(0, SIDEBAR_INVENTORY, context.getString(R.string.sidebar_shops), true))
+ items.add(HabiticaDrawerItem(0, SIDEBAR_INVENTORY, context.getString(R.string.sidebar_shops), isHeader = true))
items.add(HabiticaDrawerItem(R.id.marketFragment, SIDEBAR_SHOPS_MARKET, context.getString(R.string.market)))
items.add(HabiticaDrawerItem(R.id.questShopFragment, SIDEBAR_SHOPS_QUEST, context.getString(R.string.questShop)))
val seasonalShopEntry = HabiticaDrawerItem(R.id.seasonalShopFragment, SIDEBAR_SHOPS_SEASONAL, context.getString(R.string.seasonalShop))
@@ -366,20 +350,20 @@ class NavigationDrawerFragment : DialogFragment() {
items.add(seasonalShopEntry)
items.add(HabiticaDrawerItem(R.id.timeTravelersShopFragment, SIDEBAR_SHOPS_TIMETRAVEL, context.getString(R.string.timeTravelers)))
- items.add(HabiticaDrawerItem(0, SIDEBAR_INVENTORY, context.getString(R.string.sidebar_section_inventory), true))
+ items.add(HabiticaDrawerItem(0, SIDEBAR_INVENTORY, context.getString(R.string.sidebar_section_inventory), isHeader = true))
items.add(HabiticaDrawerItem(R.id.avatarOverviewFragment, SIDEBAR_AVATAR, context.getString(R.string.sidebar_avatar_equipment)))
items.add(HabiticaDrawerItem(R.id.itemsFragment, SIDEBAR_ITEMS, context.getString(R.string.sidebar_items)))
items.add(HabiticaDrawerItem(R.id.stableFragment, SIDEBAR_STABLE, context.getString(R.string.sidebar_stable)))
items.add(HabiticaDrawerItem(R.id.gemPurchaseActivity, SIDEBAR_GEMS, context.getString(R.string.sidebar_gems)))
items.add(HabiticaDrawerItem(R.id.subscriptionPurchaseActivity, SIDEBAR_SUBSCRIPTION, context.getString(R.string.sidebar_subscription)))
- items.add(HabiticaDrawerItem(0, SIDEBAR_SOCIAL, context.getString(R.string.sidebar_section_social), true))
+ items.add(HabiticaDrawerItem(0, SIDEBAR_SOCIAL, context.getString(R.string.sidebar_section_social), isHeader = true))
items.add(HabiticaDrawerItem(R.id.partyFragment, SIDEBAR_PARTY, context.getString(R.string.sidebar_party)))
items.add(HabiticaDrawerItem(R.id.tavernFragment, SIDEBAR_TAVERN, context.getString(R.string.sidebar_tavern)))
items.add(HabiticaDrawerItem(R.id.guildOverviewFragment, SIDEBAR_GUILDS, context.getString(R.string.sidebar_guilds)))
items.add(HabiticaDrawerItem(R.id.challengesOverviewFragment, SIDEBAR_CHALLENGES, context.getString(R.string.sidebar_challenges)))
- items.add(HabiticaDrawerItem(0, SIDEBAR_ABOUT_HEADER, context.getString(R.string.sidebar_about), true))
+ items.add(HabiticaDrawerItem(0, SIDEBAR_ABOUT_HEADER, context.getString(R.string.sidebar_about), isHeader = true))
items.add(HabiticaDrawerItem(R.id.newsFragment, SIDEBAR_NEWS, context.getString(R.string.sidebar_news)))
items.add(HabiticaDrawerItem(R.id.supportMainFragment, SIDEBAR_HELP, context.getString(R.string.sidebar_help)))
items.add(HabiticaDrawerItem(R.id.aboutFragment, SIDEBAR_ABOUT, context.getString(R.string.sidebar_about)))
@@ -634,7 +618,6 @@ class NavigationDrawerFragment : DialogFragment() {
const val SIDEBAR_SKILLS = "skills"
const val SIDEBAR_STATS = "stats"
const val SIDEBAR_ACHIEVEMENTS = "achievements"
- const val SIDEBAR_TEAMS = "teams"
const val SIDEBAR_SOCIAL = "social"
const val SIDEBAR_TAVERN = "tavern"
const val SIDEBAR_PARTY = "party"
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 a5b74ab6e..98d2a4619 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
@@ -26,7 +26,6 @@ import com.habitrpg.android.habitica.databinding.FragmentComposeScrollingBinding
import com.habitrpg.android.habitica.helpers.ExceptionHandler
import com.habitrpg.android.habitica.helpers.MainNavigationController
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
-import com.habitrpg.android.habitica.ui.fragments.inventory.equipment.EquipmentOverviewFragmentDirections
import com.habitrpg.android.habitica.ui.theme.HabiticaTheme
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
import com.habitrpg.android.habitica.ui.views.AvatarCustomizationOverviewView
@@ -83,7 +82,7 @@ class AvatarOverviewFragment : BaseMainFragment
}
private fun displayEquipmentFragment(type: String, equipped: String?, isCostume: Boolean = false) {
- MainNavigationController.navigate(EquipmentOverviewFragmentDirections.openEquipmentDetail(type, isCostume, equipped ?: ""))
+ MainNavigationController.navigate(AvatarOverviewFragmentDirections.openEquipmentDetail(type, isCostume, equipped ?: ""))
}
override fun onItemSelected(parent: AdapterView<*>, view: View?, position: Int, id: Long) {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/HabiticaDrawerItem.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/HabiticaDrawerItem.kt
index 2586929be..42b2cd6f5 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/HabiticaDrawerItem.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/HabiticaDrawerItem.kt
@@ -8,6 +8,7 @@ data class HabiticaDrawerItem(
var transitionId: Int,
val identifier: String,
val text: String,
+ val icon: Drawable? = null,
val isHeader: Boolean = false
) {
constructor(transitionId: Int, identifier: String) : this(transitionId, identifier, "")
diff --git a/build.gradle b/build.gradle
index 0518c1c63..75d747444 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,6 +2,7 @@
buildscript {
ext {
+ min_sdk = 21
target_sdk = 33
app_version_name = ''
app_version_code = 0
diff --git a/common/build.gradle b/common/build.gradle
index 71188b0a7..ad3a8d9bb 100644
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -4,11 +4,11 @@ plugins {
}
android {
- compileSdk 32
+ compileSdk target_sdk
defaultConfig {
- minSdk 21
- targetSdk 32
+ minSdk min_sdk
+ targetSdkVersion target_sdk
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts
index a58de7160..f06786270 100644
--- a/shared/build.gradle.kts
+++ b/shared/build.gradle.kts
@@ -54,11 +54,11 @@ kotlin {
}
android {
- compileSdk = 32
+ compileSdk = 33
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdk = 21
- targetSdk = 32
+ targetSdk = 33
}
namespace = "com.habitrpg.shared.habitica"
}
\ No newline at end of file