player-ui/player

[Android] Remove `RenderableAsset` receiver for nested `render` methods

Opened this issue · 0 comments

The current RenderableAsset requires nested RenderableAssets to be rendering explicitly in the context of their parents. This is done by using RenderableAsset as a receiver for render(), requiring code to pass a Context if they don't. This is somewhat confusing, and leads to folks incorrectly call render(context: Context) method. Even if they call the correct RenderableAsset.render() method, we've seen instances where they use the same RenderableAsset instance, which doesn't have a Context attached, and it fails to render.

The ideal scenario let's RenderableAssets to automatically populate their Context based on the context of where they're decoded. Meaning, if you get a RenderableAsset instance as a child of another asset, it would already have all the information it needs to render, and a simple render method would suffice.

POC:
#124