Skip to content

Muzei API 3.4.0

Compare
Choose a tag to compare
@ianhanniballake ianhanniballake released this 23 Jul 04:45

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 previous Builder API or the new constructor with default parameters to construct an Artwork object.
  • #644 - Allow custom command start activity - the getCommands() and onCommand() APIs for MuzeiArtProvider and the related UserCommand class have been deprecated as they did not allow you to launch an Activity on Android 10+ devices and coupled callbacks to your MuzeiArtProvider. The new getCommandActions() API allows you to return a RemoteActionCompat 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 your MuzeiArtProvider.
  • #658 - Adds a new MuzeiContract.Sources.isProviderSelected(authority: String) API (and a Kotlin extension on ProviderClient) to allow you to query whether the given MuzeiArtProvider is currently selected within Muzei. This API is compatible with all Muzei 2.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 given MuzeiArtProvider, making it much easier to ask users to select your MuzeiArtProvider. This is only compatible with Muzei 3.4.0 Alpha 2 or higher (calling startActivity() with the Intent returned will throw an ActivityNotFoundException if a previous version of Muzei is installed).
  • #670 - Adds a new MuzeiArtDocumentsProvider that provides a prebuilt DocumentsProvider that allows users to browse and select images from your MuzeiArtProvider 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 to 30 when using Muzei API 3.4.0.
  • c0b42d9, 98735a7 - Improves the performance of addArtwork(Iterable) and particularly setArtwork(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.