title: Paging library DataSource.Factory for multiple data sources
body: <p>The new paging library allows us to specify a custom data source to use with data pagination. Paging library documentation and sample code on github show us how to create your custom data source instances by creating a subclass of DataSource.Factory like so:</p>
  
  <pre><code>class ConcertTimeDataSourceFactory(private val concertStartTime: Date) :
      DataSource.Factory&lt;Date, Concert&gt;() {
      val sourceLiveData = MutableLiveData&lt;ConcertTimeDataSource&gt;()
      override fun create(): DataSource&lt;Date, Concert&gt; {
          val source = ConcertTimeDataSource(concertStartTime)
          sourceLiveData.postValue(source)
          return source
      }
  }
  </code></pre>
  
  <p>In a real app, you'd generally have multiple views with recyclerviews and hence multiple custom data sources. So, do you end up creating multiple implementations of DataSource.Factory per data source or is there a more generic solution?</p>