Я обновляю пейджинг до версии 3.0, и поскольку я использую чистую архитектуру (здесь важно разделение между ядром, где у меня есть мои репозитории, и моими useCases, и модулем приложения, где находятся все классы фреймворка Android ...), однако я использую два классы модели (один для запроса данных из комнаты, например:
data class ExampleEntity(
@Expose
@ColumnInfo(name = INTERVENTION_ID_COLUMN_NAME)
@SerializedName(INTERVENTION_ID_COLUMN_NAME)
val interventionId: String?,
@Expose
@ColumnInfo(name = SITE_NAME_COLUMN_NAME)
@SerializedName(SITE_NAME_COLUMN_NAME)
val siteName: String?
}
другой должен использоваться в основном модуле и useCase, не предполагая, что база данных комнаты вообще является зависимостью ... например:
data class Example(
@Expose
@SerializedName(INTERVENTION_ID_COLUMN_NAME)
val interventionId: String?,
@Expose
@SerializedName(SITE_NAME_COLUMN_NAME)
val siteName: String?
}
позже в databseImplementation я сопоставляю класс Entity с основным классом, и это было возможно при подкачке 2, поскольку список страниц может быть сопоставлен, теперь я не могу получить доступ к объекту PagingData Entity и могу только добавлять к нему (заголовки, разделители .. .etc) как я могу решить эту дизайнерскую головоломку?