mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
add more navigation events
This commit is contained in:
parent
59e19f3962
commit
bf43a3c96c
10 changed files with 39 additions and 2 deletions
|
|
@ -132,7 +132,7 @@ internal class StableRecyclerFragmentTest : FragmentTestCase<StableRecyclerFragm
|
|||
}
|
||||
|
||||
@Test fun displaysMountDetail() {
|
||||
fragment.itemType = "mounts"
|
||||
fragment.itemTypeText = "mounts"
|
||||
launchFragment()
|
||||
screen {
|
||||
recycler {
|
||||
|
|
|
|||
|
|
@ -59,7 +59,10 @@ import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
|||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.extensions.addCloseButton
|
||||
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.android.habitica.helpers.PurchaseHandler
|
||||
import com.habitrpg.android.habitica.ui.theme.HabiticaTheme
|
||||
|
|
@ -129,6 +132,7 @@ class BirthdayActivity : BaseActivity() {
|
|||
}) {
|
||||
if ((userViewModel.user.value?.gemCount ?: 0) < 60) {
|
||||
val dialog = InsufficientGemsDialog(this@BirthdayActivity, 3)
|
||||
Analytics.sendEvent("show insufficient gems modal", EventCategory.BEHAVIOUR, HitType.EVENT, mapOf("reason" to "birthday"))
|
||||
dialog.show()
|
||||
return@launchCatching
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.databinding.ShopArmoireGearBinding
|
||||
import com.habitrpg.android.habitica.databinding.ShopHeaderBinding
|
||||
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.android.habitica.models.shops.Shop
|
||||
import com.habitrpg.android.habitica.models.shops.ShopCategory
|
||||
|
|
@ -148,6 +151,7 @@ class ShopRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<Vi
|
|||
} else {
|
||||
mainActivity?.let { activity ->
|
||||
val dialog = InsufficientGemsDialog(activity, 3)
|
||||
Analytics.sendEvent("show insufficient gems modal", EventCategory.BEHAVIOUR, HitType.EVENT, mapOf("reason" to "class change"))
|
||||
dialog.show()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import com.habitrpg.android.habitica.data.InventoryRepository
|
|||
import com.habitrpg.android.habitica.databinding.BottomSheetBackgroundsFilterBinding
|
||||
import com.habitrpg.android.habitica.databinding.FragmentRefreshRecyclerviewBinding
|
||||
import com.habitrpg.android.habitica.extensions.setTintWith
|
||||
import com.habitrpg.android.habitica.helpers.Analytics
|
||||
import com.habitrpg.android.habitica.models.CustomizationFilter
|
||||
import com.habitrpg.android.habitica.models.inventory.Customization
|
||||
import com.habitrpg.android.habitica.models.user.OwnedCustomization
|
||||
|
|
@ -148,6 +149,8 @@ class AvatarCustomizationFragment :
|
|||
Log.e("NewFilter", it.toString())
|
||||
}
|
||||
}
|
||||
|
||||
Analytics.sendNavigationEvent("$type screen")
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,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.Analytics
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.android.habitica.ui.adapter.CustomizationEquipmentRecyclerViewAdapter
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
|
||||
|
|
@ -97,6 +98,8 @@ class AvatarEquipmentFragment :
|
|||
this.loadEquipment()
|
||||
|
||||
userViewModel.user.observe(viewLifecycleOwner) { updateUser(it) }
|
||||
|
||||
Analytics.sendNavigationEvent("$type screen")
|
||||
}
|
||||
|
||||
private fun loadEquipment() {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,10 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.data.SocialRepository
|
||||
import com.habitrpg.android.habitica.databinding.FragmentRefreshRecyclerviewBinding
|
||||
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.models.shops.Shop
|
||||
import com.habitrpg.android.habitica.models.shops.ShopCategory
|
||||
import com.habitrpg.android.habitica.models.shops.ShopItem
|
||||
|
|
@ -214,6 +217,8 @@ open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>()
|
|||
.map { rewards -> rewards.map { it.key } }
|
||||
.collect { adapter?.setPinnedItemKeys(it) }
|
||||
}
|
||||
|
||||
Analytics.sendNavigationEvent("$shopIdentifier screen")
|
||||
}
|
||||
|
||||
open fun initializeCurrencyViews() {
|
||||
|
|
@ -231,6 +236,7 @@ open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>()
|
|||
context?.let { context ->
|
||||
if (user.gemCount <= 2) {
|
||||
val dialog = mainActivity?.let { InsufficientGemsDialog(it, 3) }
|
||||
Analytics.sendEvent("show insufficient gems modal", EventCategory.BEHAVIOUR, HitType.EVENT, mapOf("reason" to "class change"))
|
||||
dialog?.show()
|
||||
return@launch
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,10 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.data.ApiClient
|
||||
import com.habitrpg.android.habitica.data.ContentRepository
|
||||
import com.habitrpg.android.habitica.extensions.addCancelButton
|
||||
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.SoundManager
|
||||
import com.habitrpg.android.habitica.helpers.TaskAlarmManager
|
||||
import com.habitrpg.android.habitica.helpers.notifications.PushNotificationManager
|
||||
|
|
@ -175,6 +178,7 @@ class PreferencesFragment :
|
|||
} else {
|
||||
activity?.let { activity ->
|
||||
val dialog = InsufficientGemsDialog(activity, 3)
|
||||
Analytics.sendEvent("show insufficient gems modal", EventCategory.BEHAVIOUR, HitType.EVENT, mapOf("reason" to "class change"))
|
||||
dialog.show()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@ import androidx.lifecycle.lifecycleScope
|
|||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.databinding.DialogHatchPetButtonBinding
|
||||
import com.habitrpg.android.habitica.databinding.DialogPetSuggestHatchBinding
|
||||
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.interactors.HatchPetUseCase
|
||||
import com.habitrpg.android.habitica.models.inventory.Animal
|
||||
import com.habitrpg.android.habitica.models.inventory.Egg
|
||||
|
|
@ -52,6 +55,11 @@ class PetSuggestHatchDialog(context: Context) : HabiticaAlertDialog(context) {
|
|||
userViewModel = hiltEntryPoint.mainUserViewModel()
|
||||
}
|
||||
|
||||
override fun show() {
|
||||
super.show()
|
||||
Analytics.sendNavigationEvent("pet suggestion modal")
|
||||
}
|
||||
|
||||
fun configure(
|
||||
pet: Animal,
|
||||
egg: Egg?,
|
||||
|
|
@ -158,6 +166,7 @@ class PetSuggestHatchDialog(context: Context) : HabiticaAlertDialog(context) {
|
|||
val activity = (getActivity() as? MainActivity) ?: return@addButton
|
||||
if ((userViewModel.user.value?.gemCount ?: hatchPrice) < hatchPrice) {
|
||||
InsufficientGemsDialog(activity, hatchPrice).show()
|
||||
Analytics.sendEvent("show insufficient gems modal", EventCategory.BEHAVIOUR, HitType.EVENT, mapOf("reason" to "pet suggest modal"))
|
||||
return@addButton
|
||||
}
|
||||
val thisPotion = potion ?: return@addButton
|
||||
|
|
|
|||
|
|
@ -20,7 +20,10 @@ import com.habitrpg.android.habitica.data.UserRepository
|
|||
import com.habitrpg.android.habitica.extensions.addCancelButton
|
||||
import com.habitrpg.android.habitica.extensions.addCloseButton
|
||||
import com.habitrpg.android.habitica.extensions.getShortRemainingString
|
||||
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.android.habitica.models.shops.Shop
|
||||
import com.habitrpg.android.habitica.models.shops.ShopItem
|
||||
|
|
@ -359,6 +362,7 @@ class PurchaseDialog(
|
|||
}
|
||||
"gold" == shopItem.currency -> InsufficientGoldDialog(context)
|
||||
"gems" == shopItem.currency -> {
|
||||
Analytics.sendEvent("show insufficient gems modal", EventCategory.BEHAVIOUR, HitType.EVENT, mapOf("reason" to "purchase modal", "item" to shopItem.key))
|
||||
parentActivity?.let { activity -> InsufficientGemsDialog(activity, shopItem.value) }
|
||||
}
|
||||
"hourglasses" == shopItem.currency -> InsufficientHourglassesDialog(context)
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
NAME=4.2.4
|
||||
CODE=6261
|
||||
CODE=6271
|
||||
Loading…
Reference in a new issue