💉
Hilt Injection Bugs
Find the bugs in each code snippet
←→NavigateAShow remainingRReset
🎯Bug Formula: What's wrong → What breaks for the user → The fix → The trade-off
Find the bugs in each code snippet
1@HiltViewModel2class SharedCartViewModel @Inject constructor(3 private val repository: CartRepository4) : ViewModel() {56 val cartItems = MutableStateFlow<List<CartItem>>(emptyList())78 fun addItem(item: CartItem) {9 cartItems.update { it + item }10 viewModelScope.launch {11 repository.syncCart(cartItems.value)12 }13 }1415 fun clearCart() {16 cartItems.value = emptyList()17 }18}1920@AndroidEntryPoint21class ProductFragment : Fragment() {22 private val cartViewModel: SharedCartViewModel by viewModels()2324 fun onAddToCart(item: CartItem) {25 cartViewModel.addItem(item)26 }27}2829@AndroidEntryPoint30class CartFragment : Fragment() {31 private val cartViewModel: SharedCartViewModel by viewModels()3233 fun onCheckout() {34 // Process cart...35 cartViewModel.clearCart()36 }37}Find the bugs in each code snippet
1@HiltViewModel2class SharedCartViewModel @Inject constructor(3 private val repository: CartRepository4) : ViewModel() {56 val cartItems = MutableStateFlow<List<CartItem>>(emptyList())78 fun addItem(item: CartItem) {9 cartItems.update { it + item }10 viewModelScope.launch {11 repository.syncCart(cartItems.value)12 }13 }1415 fun clearCart() {16 cartItems.value = emptyList()17 }18}1920@AndroidEntryPoint21class ProductFragment : Fragment() {22 private val cartViewModel: SharedCartViewModel by viewModels()2324 fun onAddToCart(item: CartItem) {25 cartViewModel.addItem(item)26 }27}2829@AndroidEntryPoint30class CartFragment : Fragment() {31 private val cartViewModel: SharedCartViewModel by viewModels()3233 fun onCheckout() {34 // Process cart...35 cartViewModel.clearCart()36 }37}