• Audio Message support (AND-1436)
  • Video Message support (AND-1441)
  • Feedback Message support (AND-1442)
  • Analytics event support (AND-1460)
  • Updated Layer SDK to 4.1.0-pre1
  • Added dependency management singleton for dependency injection. See XdkUiDependencyManager. (AND-1468)
  • Sending the full MessageModel when performing message actions (AND-1471)
  • Added default support for the layer-show-large-message message action

Bug fixes

  • Only loading a resource ID in PicassoImageCacheWrapper if one is set. If not, fall back to the placeholder.
  • Using correct black color for xdk_ui_text_black

API Changes

  • XDKUiComponent added two inject() methods for large message ViewModel injection
  • ConversationViewModel should now register with a LifecycleOwner via addLifecycleObservers(LifecycleOwner)
  • ActionHandler's performAction() method now sends the MessageModel instead of a JsonObject. Custom ActionHandlers will need to be updated. Use MessageModel.getActionData() to retrieve the JsonObject that used to be passed through.
  • MessageModelAdapter now takes an additional constructor parameter for media playback support
  • ChoiceOrSetHelper now extends the abstract ORSetHelper, which holds the common functionality for working with OR-sets.
  • MessageModel's processParts(MessagePart) method is now public instead of protected
  • ParentMessageView will now pass a MediaControllerProivder when inflating views. The signature of inflateChildLayouts() for any custom ParentMessageView will need to be updated.
  • MessageModel.getRootMessagePart() is now nullable. This can be null if the model has not been parsed yet or if it is a legacy MIME type.

New APIs

  • A message view can implement MediaPlayerMessageView to obtain a media controller for media playback
  • Added a ViewStub to the right of the metadata in the StandardMessageContainer. See getRightMetadataView().
  • Added a download progress accessor to MessageModel. See getDownloadProgress().
  • Added a convenience method to send analytics events from a MessageModel. See postAnalyticsEvent(LayerAnalyticsEvent).
  • Added a MediaPlayerMessageView interface that message views can implement. This allows an adapter to set a media controller on the view to support media playback.
  • Added a MessagePartFetcher that will fetch a MessagePart from the LayerClient and observe changes.

Known issues

  • Video playback does not work on Android 9 when targeting API 28. See https://issuetracker.google.com/issues/112933221



  • Adding a mutator for the MessageModelManger singleton to the ServiceLocator (AND-1474)
  • Updated Layer SDK to 4.0.7

Bug Fixes

  • Fixed crash when no size is found for an image when sending an image message (AND-1485)
  • Guard against no width/height when parsing an image message with a source part (AND-1501)
  • Fixing default attachment sender popup menu background (AND-1478)



  • Updated Layer SDK to 4.0.6


Bug Fixes

  • Fixing crash when an announcement is synced and the ConversationView is displayed (AND-1452)
  • Ensuring intents can be resolved before starting activities in the built-in action handlers (AND-1472)



  • Updated Layer SDK to 4.0.4

Bug Fixes

  • Removed the constrained height on the compose bar so it will expand to the maximum specified lines (AND-1453)
  • Compose bar’s EditText now auto capitalizes sentences
  • Dismissing the attachment menu after a selection was made (AND-1454)


Important Changes

  • Added performance test module
  • SDK pre-release URL is now set via a variable in gradle.properties
  • Common dependency versions have moved to the root build.gradle file

Bug Fixes

  • Properly handling the DefaultXdkUiComponent singleton inside the ServiceLocator
  • No longer using a weak LayerAuthenticationListener during deauthentication as it would usually be GC’d and the specified DeauthenticationCallback would not be called.
  • Fixed crash when selecting choice buttons with different button count (AND-1451)



  • Updated Layer SDK to 4.0.2



  • Improved unit test foundations (AND-1418)
  • Updated to use 4.0.1 version of the SDK
  • Removed TestButler as it was going unused

Bug Fixes

  • Added a default push notification payload to the rich text sender (AND-1430)


  • Redefines all UI Components
  • Adds a system for defining Message Types
  • Provides a library of Message Types
  • Provides a system for Interactive Messages

Migration Guide

Please refer to the Migration Guide to upgrade from Atlas-Android.

Upgrade Guide Support