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

Commit 492c55df authored by Alan Viverette's avatar Alan Viverette Committed by Android Git Automerger
Browse files

am 6ae1bdeb: Merge "Revert "Fixing Drawable methods for find by layer ID and...

am 6ae1bdeb: Merge "Revert "Fixing Drawable methods for find by layer ID and invalidation callback""

* commit '6ae1bdeb':
  Revert "Fixing Drawable methods for find by layer ID and invalidation callback"
parents bf048948 6ae1bdeb
Loading
Loading
Loading
Loading
+9 −11
Original line number Original line Diff line number Diff line
@@ -229,18 +229,15 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
    }
    }


    /**
    /**
     * Looks for a layer with the given ID and returns its {@link Drawable}.
     * Look for a layer with the given id, and returns its {@link Drawable}.
     * <p>
     * If multiple layers are found for the given ID, returns the
     * {@link Drawable} for the matching layer at the highest index.
     *
     *
     * @param id The layer ID to search for.
     * @param id The layer ID to search for.
     * @return The {@link Drawable} for the highest-indexed layer that has the
     * @return The {@link Drawable} of the layer that has the given id in the hierarchy or null.
     *         given ID, or null if not found.
     */
     */
    public Drawable findDrawableByLayerId(int id) {
    public Drawable findDrawableByLayerId(int id) {
        final ChildDrawable[] layers = mLayerState.mChildren;
        final ChildDrawable[] layers = mLayerState.mChildren;
        for (int i = mLayerState.mNum - 1; i >= 0; i--) {
        final int N = mLayerState.mNum;
        for (int i = 0; i < N; i++) {
            if (layers[i].mId == id) {
            if (layers[i].mId == id) {
                return layers[i].mDrawable;
                return layers[i].mDrawable;
            }
            }
@@ -374,7 +371,7 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
    }
    }


    /**
    /**
     * Invalidates cached padding and recomputes child bounds.
     * Invalidates cached padding.
     */
     */
    private void invalidatePadding() {
    private void invalidatePadding() {
        mHasCachedPadding = false;
        mHasCachedPadding = false;
@@ -383,9 +380,10 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {


    @Override
    @Override
    public void invalidateDrawable(Drawable who) {
    public void invalidateDrawable(Drawable who) {
        // Something changed, maybe it was the child drawable's padding.
        final Callback callback = getCallback();
        invalidatePadding();
        if (callback != null) {
        invalidateSelf();
            callback.invalidateDrawable(this);
        }
    }
    }


    @Override
    @Override