title: MutableLiveData: Cannot invoke setValue on a background thread from Coroutine
body: <p>I'm trying to trigger an update on LiveData from a coroutine:</p>
  
  <pre><code>object AddressList: MutableLiveData&lt;List&lt;Address&gt;&gt;()
  fun getAddressesLiveData(): LiveData&lt;List&lt;Address&gt;&gt; {
      AddressList.value = listOf()
      GlobalScope.launch {
          AddressList.value = getAddressList()
      }
      return AddressList
  }
  </code></pre>
  
  <p>but I get the following error:</p>
  
  <blockquote>
    <p>IllegalStateException: Cannot invoke setValue on a background thread</p>
  </blockquote>
  
  <p>Is there a way to make it work with coroutines?</p>