سلام
تکه کد هایی که مربوط به postSnicky رو به صورت زیر در viewModel و activity وارد کردم ولی متدی که subcribe شده تو activity جرا نمیشه در نتیجه badge نمایش داده نمیشه مشکل از کدوم قسمته
viewModel
fun getCartItemsCount() {
if (!TokenContainer.token.isNullOrEmpty()) {
cartRepository.getCartItemCount()
.subscribeOn(Schedulers.io())
.subscribe(object : NikeSingleObserver<CartItemCount>(compositeDisposable) {
override fun onSuccess(itemCount: CartItemCount) {
Timber.i("getCartItemsCount ===== >>> ${itemCount.count}")
EventBus.getDefault().postSticky(itemCount)
}
})
}
}
activity این متود کال نمیشه
@Subscribe(sticky = true,threadMode = ThreadMode.MAIN)
fun onCartItemsCountChangeEvent(cartItemCount: CartItemCount) {
Timber.i("-------- >>> change event badge ${cartItemCount.count}")
val badge = bottomNavigationMain.getOrCreateBadge(R.id.cart)
badge.badgeGravity = BadgeDrawable.BOTTOM_START
badge.backgroundColor = MaterialColors.getColor(bottomNavigationMain, R.attr.colorPrimary)
badge.number = cartItemCount.count
// badge.verticalOffset = 10.toPx
badge.isVisible = cartItemCount.count > 0
}