Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8549041 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio Committed by Android Git Automerger
Browse files

am 8c2e3a41: Merge "Optimize RTL properties resolution" into jb-mr2-dev

* commit '8c2e3a41':
  Optimize RTL properties resolution
parents b0675df8 8c2e3a41
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -11749,10 +11749,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
    /**
     * Resolve all RTL related properties.
     *
     * @return true if resolution of RTL properties has been done
     *
     * @hide
     */
    public void resolveRtlPropertiesIfNeeded() {
        if (!needRtlPropertiesResolution()) return;
    public boolean resolveRtlPropertiesIfNeeded() {
        if (!needRtlPropertiesResolution()) return false;
        // Order is important here: LayoutDirection MUST be resolved first
        if (!isLayoutDirectionResolved()) {
@@ -11773,6 +11775,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
            resolveDrawables();
        }
        onRtlPropertiesChanged(getLayoutDirection());
        return true;
    }
    /**
@@ -11825,6 +11828,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
    /**
     * @return true if RTL properties need resolution.
     *
     */
    private boolean needRtlPropertiesResolution() {
        return (mPrivateFlags2 & ALL_RTL_PROPERTIES_RESOLVED) != ALL_RTL_PROPERTIES_RESOLVED;
+11 −7
Original line number Diff line number Diff line
@@ -5453,8 +5453,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
     * @hide
     */
    @Override
    public void resolveRtlPropertiesIfNeeded() {
        super.resolveRtlPropertiesIfNeeded();
    public boolean resolveRtlPropertiesIfNeeded() {
        final boolean result = super.resolveRtlPropertiesIfNeeded();
        // We dont need to resolve the children RTL properties if nothing has changed for the parent
        if (result) {
            int count = getChildCount();
            for (int i = 0; i < count; i++) {
                final View child = getChildAt(i);
@@ -5463,6 +5465,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
                }
            }
        }
        return result;
    }

    /**
     * @hide