1.16.0 - Android
December 21st, 2025
ChangeLog
Added
- Added a Swipe To Dismiss feature to the Videos Player.
- Widget Play Enhancement & Click Handler Updates.
- Added content localization. See more at setPreferredLanguage.
- Accessibility - Announce Item Count for Screen Readers.
- Added a new data source -
Search. See more at BlazeDataSourceType — Android. - Added new
playmethods to Widgets. See more at play(from: BlazeWidgetPlayFrom).
Updated
- When hosting application is using the
BlazeSDK.setExternalUserIdmethod, the SDK will no longer clean the local db (meaning, unread states will be preserved across multiple externals ids on the same device).
Fixed
- Fixed an issue caused black screen when no content is available for the first tab.
Widget Play Enhancement & Click Handler Updates
✨ What's New
Enhanced Play Method with Position Control
Widgets can now play content from specific positions using the BlazeWidgetPlayFrom sealed class.
widget.play() // First item (default)
widget.play(BlazeWidgetPlayFrom.Index(2)) // Specific index
widget.play(BlazeWidgetPlayFrom.ContentId("story-123")) // Specific content IDBlazeWidgetPlayFrom Sealed Class:
sealed class BlazeWidgetPlayFrom {
data class Index(val index: Int) : BlazeWidgetPlayFrom()
data class ContentId(val contentId: String) : BlazeWidgetPlayFrom()
}Supported Widgets:
BlazeStoriesWidget(Native & Compose)BlazeMomentsWidget(Native & Compose)BlazeVideosWidget(Native & Compose)
🔴 Breaking Change: onWidgetItemClickHandler
onWidgetItemClickHandlerThe handler now receives parameters with context about the clicked item.
Parameter Data Class
@Keep
data class BlazeWidgetItemClickParams(
val widgetId: String, // ID of the widget
val contentIndex: Int, // Zero-based index of clicked item
val contentId: String // Unique content ID
)Signature Change
Old:
onWidgetItemClickHandler = {
BlazeWidgetItemClickHandlerState.HANDLED_BY_APP
}New:
onWidgetItemClickHandler = { params ->
// params.widgetId, params.contentIndex, params.contentId
BlazeWidgetItemClickHandlerState.HANDLED_BY_APP
}📖 Migration Guide
If You're NOT Using onWidgetItemClickHandler
onWidgetItemClickHandler✅ No action required - your code works without changes.
If You ARE Using onWidgetItemClickHandler
onWidgetItemClickHandlerSimply add the params parameter to your handler:
// Before
onWidgetItemClickHandler = {
performCustomAction()
BlazeWidgetItemClickHandlerState.HANDLED_BY_APP
}
// After
onWidgetItemClickHandler = { params ->
performCustomAction()
BlazeWidgetItemClickHandlerState.HANDLED_BY_APP
}Optional - Access the new parameters:
onWidgetItemClickHandler = { params ->
Log.d("Widget", "ID: ${params.widgetId}")
Log.d("Widget", "Index: ${params.contentIndex}")
Log.d("Widget", "Content ID: ${params.contentId}")
BlazeWidgetItemClickHandlerState.HANDLED_BY_APP
}📚 API Reference
Play Methods
// All widgets (Native & Compose)
fun play() // First item
fun play(from: BlazeWidgetPlayFrom) // Specific positionHandler
onWidgetItemClickHandler: ((BlazeWidgetItemClickParams) -> BlazeWidgetItemClickHandlerState)? = null