HordeGenerationRepositoryImpl

Implements HordeGenerationRepository behavior in the SDAI data layer.

Author

Dmitriy Moroz

Constructors

Link copied to clipboard
constructor(mediaStoreGateway: MediaStoreGateway, localDataSource: GenerationResultDataSource.Local, preferenceManager: PreferenceManager, backgroundWorkObserver: BackgroundWorkObserver, remoteDataSource: HordeGenerationDataSource.Remote, statusSource: HordeGenerationDataSource.StatusSource)

Types

Link copied to clipboard
private object Companion

Properties

Link copied to clipboard

Exposes the backgroundWorkObserver value used by the SDAI data layer.

Link copied to clipboard

Exposes the localDataSource value used by the SDAI data layer.

Link copied to clipboard

Exposes the mediaStoreGateway value used by the SDAI data layer.

Link copied to clipboard

Exposes the preferenceManager value used by the SDAI data layer.

Link copied to clipboard

Exposes the remoteDataSource value used by the SDAI data layer.

Link copied to clipboard

Exposes the statusSource value used by the SDAI data layer.

Functions

Link copied to clipboard
private fun apiKey(): String
Link copied to clipboard
private fun exportAsync(result: AiGenerationResult)

Executes the exportAsync step in the SDAI data layer.

Link copied to clipboard
protected suspend fun exportToMediaStoreAsync(result: AiGenerationResult)

Executes the exportToMediaStoreAsync step in the SDAI data layer.

Link copied to clipboard
open suspend override fun generateFromImage(payload: ImageToImagePayload): AiGenerationResult
Link copied to clipboard
open suspend override fun generateFromText(payload: TextToImagePayload): AiGenerationResult
Link copied to clipboard
protected suspend fun getInfoAsync(): MediaStoreInfo

Loads SDAI data through getInfoAsync.

Link copied to clipboard

Performs the SDAI side effect handled by insertGenerationResult.

Link copied to clipboard
open suspend override fun interruptGeneration()
Link copied to clipboard
open override fun observeStatus(): Flow<HordeProcessStatus>
Link copied to clipboard
open suspend override fun validateApiKey(): Boolean