From e3f66e57df8d9efb1e2b3cd7b0f534629af78746 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 12 Oct 2022 17:50:02 +0200 Subject: [PATCH] Prepare for new menu --- Habitica/build.gradle | 2 +- .../res/layout/drawer_main_section_header.xml | 13 +---- Habitica/res/navigation/navigation.xml | 25 +-------- .../habitica/components/UserComponent.java | 6 --- .../ui/adapter/NavigationDrawerAdapter.kt | 53 +------------------ .../ui/fragments/NavigationDrawerFragment.kt | 25 ++------- .../customization/AvatarOverviewFragment.kt | 3 +- .../habitica/ui/menu/HabiticaDrawerItem.kt | 1 + build.gradle | 1 + common/build.gradle | 6 +-- shared/build.gradle.kts | 4 +- 11 files changed, 18 insertions(+), 121 deletions(-) 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