No changes over Muzei API 3.4.0-beta01. It is compatible with Muzei 3.3.0 and higher.
See the updated documentation at api.muzei.co.
Important changes since Muzei API 3.3.0:
- #626 - Remove all deprecated APIs - all of the previously deprecated APIs including
MuzeiArtSource
have been completely removed. - #629 - Convert muzei-api implementation to Kotlin - all of the Muzei API has been rewritten in Kotlin. The APIs are mostly compatible, but there were a few incompatible changes in the conversion. Namely, the
Artwork
class is now immutable and cannot be changed after its construction; you can either use the previousBuilder
API or the new constructor with default parameters to construct anArtwork
object. - #644 - Allow custom command start activity - the
getCommands()
andonCommand()
APIs forMuzeiArtProvider
and the relatedUserCommand
class have been deprecated as they did not allow you to launch an Activity on Android 10+ devices and coupled callbacks to yourMuzeiArtProvider
. The newgetCommandActions()
API allows you to return aRemoteActionCompat
instance for each command, which allows you to launch an activity directly from the command on all API levels, supports attaching an icon to your action (which allows it to show as an icon in Muzei), and allows you to test each callback separately from yourMuzeiArtProvider
. - #658 - Adds a new
MuzeiContract.Sources.isProviderSelected(authority: String)
API (and a Kotlin extension onProviderClient
) to allow you to query whether the givenMuzeiArtProvider
is currently selected within Muzei. This API is compatible with all Muzei2.X
versions. - #659 - Adds a new
MuzeiContract.Sources.createChooseProviderIntent(authority: String)
API to deep link directly into Muzei's "Sources" screen, automatically scrolling to the givenMuzeiArtProvider
, making it much easier to ask users to select yourMuzeiArtProvider
. This is only compatible with Muzei3.4.0 Alpha 2
or higher (callingstartActivity()
with theIntent
returned will throw anActivityNotFoundException
if a previous version of Muzei is installed). - #670 - Adds a new
MuzeiArtDocumentsProvider
that provides a prebuiltDocumentsProvider
that allows users to browse and select images from yourMuzeiArtProvider
via the default file picker and Files app. - Muzei API now compiles with API 30 and includes the proper package visibility changes needed to support targeting API 30. You must change your
compileSdkVersion
to30
when using Muzei API 3.4.0. - c0b42d9, 98735a7 - Improves the performance of
addArtwork(Iterable)
and particularlysetArtwork(Iterable)
as additional follow up work on #623
Include the Muzei API in your app by adding the dependency to your build.gradle
:
implementation "com.google.android.apps.muzei:muzei-api:3.4.0"
Note: Muzei API depends on AndroidX. You must migrate to AndroidX to use the Muzei API.