Background Export
PhotoEditor SDK supports exporting photos in the background using WorkManager
. Background export requires the backend:headless
module. Refer to our documentation on how to include the module in your project.
Start Editor#
For the sake of this example, we load a photo from the resources into the photo editor.
Configure the PhotoEditorSaveSettings
to set the outputMode
to only export the SettingsList
(instead of the photo). This SettingsList
will be used later to export the photo in the background.
Handle Result#
The result from the editor is received in the onActivityResult()
method. EditorSDKResult
wraps around the intent and provides a convenient API to check the result. Here, we obtain the SettingsList
using EditorSDKResult.settingsList
and create a WorkRequest
using the DocumentRenderWorker.createWorker()
method. This WorkRequest
is then enqueued in the WorkManager
for background processing.
Note the usage of the use()
method on the SettingsList
. It automatically releases the SettingsList
after executing the block so we don't have to release it manually.
Observe Progress#
Here, we observe progress information of the scheduled background exports using the getWorkInfosByTagLiveData()
method.
DocumentRenderWorker
uses the DocumentRenderWorker.DEFAULT_WORK_INFO_TAG
tag and the progress is obtained using the DocumentRenderWorker.FLOAT_PROGRESS_KEY
key.