diff --git a/Habitica/res/navigation/navigation.xml b/Habitica/res/navigation/navigation.xml
index b95ed891c..aaa22360a 100644
--- a/Habitica/res/navigation/navigation.xml
+++ b/Habitica/res/navigation/navigation.xml
@@ -110,6 +110,10 @@
android:name="com.habitrpg.android.habitica.ui.fragments.inventory.items.ItemsFragment"
android:label="@string/sidebar_items">
+
+
) {
@@ -127,7 +125,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
}
private fun createNotificationsHeaderView(notificationCount: Int): View? {
- val header = inflater.inflate(R.layout.notifications_header, notification_items, false)
+ val header = inflater?.inflate(R.layout.notifications_header, notification_items, false)
val badge = header?.findViewById(R.id.notifications_title_badge) as? TextView
badge?.text = notificationCount.toString()
@@ -220,7 +218,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
imageResourceId: Int? = null,
textColor: Int? = null
): View? {
- val item = inflater.inflate(R.layout.notification_item, notification_items, false)
+ val item = inflater?.inflate(R.layout.notification_item, notification_items, false)
val container = item?.findViewById(R.id.notification_item) as? View
container?.setOnClickListener {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.kt
index cbf20b15f..42ffe23b8 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.kt
@@ -30,6 +30,17 @@ class ItemsFragment : BaseMainFragment() {
viewPager?.currentItem = 0
setViewPagerAdapter()
+
+ arguments?.let {
+ val args = ItemsFragmentArgs.fromBundle(it)
+ viewPager?.currentItem = when (args.itemType) {
+ "hatchingPotions" -> 1
+ "food" -> 2
+ "quests" -> 3
+ "special" -> 4
+ else -> 0
+ }
+ }
}
override fun injectFragment(component: UserComponent) {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.kt
index 945fc0e76..507b4fc1d 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.kt
@@ -48,9 +48,8 @@ class GuildFragment : BaseMainFragment() {
viewModel.getGroupData().observe(viewLifecycleOwner, Observer { setGroup(it) })
viewModel.getIsMemberData().observe(viewLifecycleOwner, Observer { activity?.invalidateOptionsMenu() })
- val newArguments = arguments
- if (newArguments != null) {
- val args = GuildFragmentArgs.fromBundle(newArguments)
+ arguments?.let {
+ val args = GuildFragmentArgs.fromBundle(it)
viewModel.setGroupID(args.groupID)
}
@@ -59,6 +58,11 @@ class GuildFragment : BaseMainFragment() {
setViewPagerAdapter()
setFragments()
+ arguments?.let {
+ val args = GuildFragmentArgs.fromBundle(it)
+ viewPager?.currentItem = args.tabToOpen
+ }
+
if (viewModel.groupID == "f2db2a7f-13c5-454d-b3ee-ea1f5089e601") {
context?.let { FirebaseAnalytics.getInstance(it).logEvent("opened_no_party_guild", null) }
}
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 5e5575517..dc796324b 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
@@ -1,6 +1,7 @@
package com.habitrpg.android.habitica.ui.viewmodels
import android.os.Bundle
+import androidx.core.os.bundleOf
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.UserComponent
import com.habitrpg.android.habitica.data.SocialRepository
@@ -230,7 +231,7 @@ open class NotificationsViewModel : BaseViewModel() {
when (notification.type) {
Notification.Type.NEW_STUFF.type -> navController.navigate(R.id.newsFragment)
Notification.Type.NEW_CHAT_MESSAGE.type -> clickNewChatMessage(notification, navController)
- Notification.Type.NEW_MYSTERY_ITEMS.type -> navController.navigate(R.id.itemsFragment)
+ Notification.Type.NEW_MYSTERY_ITEMS.type -> navController.navigate(R.id.itemsFragment, bundleOf(Pair("itemType", "special")))
Notification.Type.UNALLOCATED_STATS_POINTS.type -> navController.navigate(R.id.statsFragment)
// Group tasks should go to Group tasks view if that is added to this app at some point
Notification.Type.GROUP_TASK_APPROVED.type -> navController.navigate(R.id.tasksFragment)
@@ -246,6 +247,7 @@ open class NotificationsViewModel : BaseViewModel() {
val bundle = Bundle()
bundle.putString("groupID", data?.group?.id)
bundle.putBoolean("isMember", true) // safe to assume user is member since they got the notification
+ bundle.putInt("tabToOpen", 1)
navController.navigate(R.id.guildFragment, bundle)
}
}