bool BaseLayerAndroid::prepare(double currentTime, IntRect& viewRect,
                               SkRect& visibleRect, float scale)
{
    XLOG("preparing BLA %p", this);

    // base layer is simply drawn in prepare, since there is always a base layer it doesn't matter
    bool needsRedraw = prepareBasePictureInGL(visibleRect, scale, currentTime);

    LayerAndroid* compositedRoot = static_cast<LayerAndroid*>(getChild(0));
    if (compositedRoot) {
        updateLayerPositions(visibleRect);

        XLOG("preparing BLA %p, root %p", this, compositedRoot);
        compositedRoot->prepare();
    }

    return needsRedraw;
}