Closed robalb closed 1 year ago
Un oggetto Livedata deve essere osservato per eisistere. getValue all'interno di callback del viewmodel è uno dei pochi casi in cui si può interagire con livedata in maniera non asincrona, e funziona solo perchè i callback si eseguono parecchio dopo che il livedata è stato inizializzato da un observer.
Professionalmente, quando la logica diventa molto asincrona, si utilizza strumenti come RxJava. Noi lo evitiamo percè è piuttosto complesso. Un workaround abbastanza pulito può essere l'osservare solo una volta un livedata, qualcosa come questo https://stackoverflow.com/a/67475127/9169799
Controllare se regata esiste già durante validazione di createregatta,
Disattivare il pulsante createregatta mentre si è in attesa di esito.
Entrambi i casi sopra causano crash