diff options
author | Winson Chung <winsonc@google.com> | 2015-08-06 23:06:16 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-08-06 23:06:16 +0000 |
commit | 99eceebfaae1071cde2cf05f2874b8d94795b43a (patch) | |
tree | 580b7f82c556e4a2444a8e9faeb736a12fd68945 | |
parent | cf0c746ec080ee528d4994c382562fda1e647752 (diff) | |
parent | b0ca1a225f99a0a9b70419ed11e313b78ea1425c (diff) | |
download | android_packages_apps_Trebuchet-99eceebfaae1071cde2cf05f2874b8d94795b43a.tar.gz android_packages_apps_Trebuchet-99eceebfaae1071cde2cf05f2874b8d94795b43a.tar.bz2 android_packages_apps_Trebuchet-99eceebfaae1071cde2cf05f2874b8d94795b43a.zip |
Merge "Fixing issue with miscalculation in updating container bounds." into ub-launcher3-burnaby
-rw-r--r-- | src/com/android/launcher3/BaseContainerView.java | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java index c8de9df10..c11824054 100644 --- a/src/com/android/launcher3/BaseContainerView.java +++ b/src/com/android/launcher3/BaseContainerView.java @@ -34,10 +34,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; @@ -90,7 +92,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, @@ -110,14 +112,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); } } |