This repository has been archived by the owner on Jul 29, 2022. It is now read-only.
2.0.0-alpha.2
Pre-release
Pre-release
·
55 commits
to develop
since this release
Take a look at the migration guide
Added
- LCP implementation of the Content Protection API to work with the new Streamer API (contributed by @qnga).
- It is highly recommended that you upgrade to the new
Streamer
API to open publications, which will simplify DRM unlocking.
- It is highly recommended that you upgrade to the new
- Two default implementations of
LcpAuthenticating
:LcpDialogAuthentication
to prompt the user for its passphrase with the official LCP dialog.LcpPassphraseAuthentication
to provide directly a passphrase, pulled for example from a database or a web service.
LcpService::isLcpProtected()
provides a way to check if a file is protected with LCP.- All the
LcpException
errors are now implementingUserException
and are suitable for user display. UsegetUserMessage()
to get the localized message.
Changed
- The public API got modernized to be more Kotlin idiomatic (contributed by @qnga).
- All asynchronous APIs are now suspending to take advantage of Kotlin's coroutines.
LcpAuthenticating
is now provided with more information and you will need to update any implementation you may have.- If you copied the default authentication dialog, it's recommended to use
LcpDialogAuthentication
instead.
- If you copied the default authentication dialog, it's recommended to use
- Publications are now downloaded to a temporary location, to make sure disk storage can be recovered automatically by the system. After acquiring the publication, you need to move the downloaded file to another permanent location.
- The private
liblcp
dependency is now accessed through reflection, to allow switching LCP dynamically (contributed by @qnga).- You need to add
implementation "readium:liblcp:1.0.0@aar"
to yourbuild.gradle
. LcpService::create()
returnsnull
iflcplib
is not found.
- You need to add
Fixed
- Decrypting resources in some edge cases (contributed by @qnga)
- Issues with LSD interactions:
- Exceptions handling with
renew
andreturn
interactions. - Presentation of the
renew
interaction through an HTML page.
- Exceptions handling with
- The timeout of fetching the License Status Document is reduced to 5 seconds, to avoid blocking a publication opening in low Internet conditions.