title: Paging Library doesn't trigger observe when load initial data
body: <p>I'm setting up paged list of items that i fetch in datasource with coroutines, also i'm observing this list to submit it in adapter, but when it initially loads some data, it does not trigger observe callback. What can i do to handle this ?</p>
  
  <p>I tried to debug this thing, and i found that ArrayList> mCallbacks list in PagedList, does not contain any callbacks when it tried to notify data changes, but i don't know what to do with this.</p>
  
  <p>Data source from data will be fetched and paged.</p>
  
  <pre><code>class PagedDataSource(private val account: Account, private val getItems: GetItems): PageKeyedDataSource&lt;Int, Item&gt;() {
  
      override fun loadInitial(
          params: LoadInitialParams&lt;Int&gt;,
          callback: LoadInitialCallback&lt;Int, Transaction&gt;
      ) {
          GlobalScope.launch {
              val startPage = 0
              account.id?.let {
                  val items = getItems(it, startPage).body.toMutableList()
                  callback.onResult(items, null, 1)
              }
          }
      }
  
      override fun loadAfter(params: LoadParams&lt;Int&gt;, callback: LoadCallback&lt;Int, Item&gt;) {
          GlobalScope.launch {
              account.id?.let {
                  val list = getItems(it, params.key)
                  val items = list.body.toMutableList()
                  callback.onResult(items, if (params.key &gt;= list.totalPages) null else params.key + 1)
              }
          }
      }
  
      override fun loadBefore(params: LoadParams&lt;Int&gt;, callback: LoadCallback&lt;Int, Item&gt;) {
          //NO NEED
      }
  
  }
  </code></pre>
  
  <p>code in fragment:</p>
  
  <pre><code>override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
          super.onViewCreated(view, savedInstanceState) 
          pagedAdapter = PagedAdapter()
  
          vItems.layoutManager = LinearLayoutManager(context)
          vItems.isNestedScrollingEnabled = false
          vItems.adapter = pagedAdapter
  
                     items.observe(viewLifecycleOwner, Observer { items -&gt;
                  if (items != null &amp;&amp; items.isNotEmpty()) {
                     pagedAdapter.submitList(items)
                  } else {
                      vItemsTitle.visibility = View.VISIBLE
                  }
              })
  }
  </code></pre>
  
  <p>And finally code in my viewmodel</p>
  
  <pre><code>    init {
          items = initializedPagedList()
      }
  
      private fun initializedPagedList() : LiveData&lt;PagedList&lt;Item&gt;&gt; {
          val factory = object: DataSource.Factory&lt;Int, Item&gt;() {
              override fun create(): DataSource&lt;Int, Item&gt; {
                  return PagedDataSource(account, getItems)
              }
          }
          val config = PagedList.Config.Builder()
              .setPageSize(20)
              .setEnablePlaceholders(false)
              .build()
  
          return LivePagedListBuilder(factory, config).build()
      }
  </code></pre>
  
  <p>I expect that data will be fetched after success api calls in loadInitial method and trigger observe callback.</p>