ECode RelativeLayoutLayoutParams::ResolveLayoutDirection(
    /* [in] */ Int32 layoutDirection)
{
    Boolean isLayoutRtl = IsLayoutRtl();
    if (isLayoutRtl) {
        if (mStart != IViewGroupMarginLayoutParams::DEFAULT_RELATIVE) mRight = mStart;
        if (mEnd != IViewGroupMarginLayoutParams::DEFAULT_RELATIVE) mLeft = mEnd;
    } else {
        if (mStart != IViewGroupMarginLayoutParams::DEFAULT_RELATIVE) mLeft = mStart;
        if (mEnd != IViewGroupMarginLayoutParams::DEFAULT_RELATIVE) mRight = mEnd;
    }

    if (HasRelativeRules() && layoutDirection != GetLayoutDirection()) {
        ResolveRules(layoutDirection);
    }
    // This will set the layout direction
    return ViewGroupMarginLayoutParams::ResolveLayoutDirection(layoutDirection);
}
Boolean ShortcutAndWidgetContainer::InvertLayoutHorizontally()
{
    Boolean res;
    IsLayoutRtl(&res);
    return mInvertIfRtl && res;
}