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

Commit a454d4a3 authored by Winson Chung's avatar Winson Chung Committed by Android Git Automerger
Browse files

am 99eceebf: Merge "Fixing issue with miscalculation in updating container...

am 99eceebf: Merge "Fixing issue with miscalculation in updating container bounds." into ub-launcher3-burnaby

* commit '99eceebf':
  Fixing issue with miscalculation in updating container bounds.
parents 7657644f 99eceebf
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -36,10 +36,12 @@ public abstract class BaseContainerView extends LinearLayout implements Insettab
    // The bounds of the search bar.  Only the left, top, right are used to inset the
    // search bar and the height is determined by the measurement of the layout
    private Rect mFixedSearchBarBounds = new Rect();
    // The bounds of the container
    // The computed bounds of the search bar
    private Rect mSearchBarBounds = new Rect();
    // The computed bounds of the container
    protected Rect mContentBounds = new Rect();
    // The padding to apply to the container to achieve the bounds
    protected Rect mContentPadding = new Rect();
    // The computed padding to apply to the container to achieve the container bounds
    private Rect mContentPadding = new Rect();
    // The inset to apply to the edges and between the search bar and the container
    private int mContainerBoundsInset;
    private boolean mHasSearchBar;
@@ -92,7 +94,7 @@ public abstract class BaseContainerView extends LinearLayout implements Insettab
     */
    protected void updateBackgroundAndPaddings() {
        Rect padding;
        Rect searchBarBounds = new Rect(mFixedSearchBarBounds);
        Rect searchBarBounds = new Rect();
        if (!isValidSearchBarBounds(mFixedSearchBarBounds)) {
            // Use the default bounds
            padding = new Rect(mInsets.left + mContainerBoundsInset,
@@ -112,14 +114,20 @@ public abstract class BaseContainerView extends LinearLayout implements Insettab
                    (mHasSearchBar ? 0 : (mInsets.top + mContainerBoundsInset)),
                    getMeasuredWidth() - mFixedSearchBarBounds.right,
                    mInsets.bottom + mContainerBoundsInset);

            // Use the search bounds
            searchBarBounds.set(mFixedSearchBarBounds);
        }
        if (!padding.equals(mContentPadding) || !searchBarBounds.equals(mFixedSearchBarBounds)) {

        // If either the computed container padding has changed, or the computed search bar bounds
        // has changed, then notify the container
        if (!padding.equals(mContentPadding) || !searchBarBounds.equals(mSearchBarBounds)) {
            mContentPadding.set(padding);
            mContentBounds.set(padding.left, padding.top,
                    getMeasuredWidth() - padding.right,
                    getMeasuredHeight() - padding.bottom);
            mFixedSearchBarBounds.set(searchBarBounds);
            onUpdateBackgroundAndPaddings(mFixedSearchBarBounds, padding);
            mSearchBarBounds.set(searchBarBounds);
            onUpdateBackgroundAndPaddings(mSearchBarBounds, padding);
        }
    }