diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml index 06a99842ef..fa362319d5 100644 --- a/res/values-land/dimens.xml +++ b/res/values-land/dimens.xml @@ -18,4 +18,6 @@ 8dip 0dip + + 12% diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml index f9ca01beec..644c891abb 100644 --- a/res/values-sw600dp-land/dimens.xml +++ b/res/values-sw600dp-land/dimens.xml @@ -18,4 +18,8 @@ 12dip 20dip + + + 736dp + diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml index feb1a00a67..0756dc9cc4 100644 --- a/res/values-sw600dp/dimens.xml +++ b/res/values-sw600dp/dimens.xml @@ -15,7 +15,10 @@ --> - + + 16dp + + 0dp 26sp 12dp diff --git a/res/values-sw768dp-port/dimens.xml b/res/values-sw768dp-port/dimens.xml new file mode 100644 index 0000000000..4df1725194 --- /dev/null +++ b/res/values-sw768dp-port/dimens.xml @@ -0,0 +1,21 @@ + + + + + + 736dp + + \ No newline at end of file diff --git a/res/values/dimens.xml b/res/values/dimens.xml index a303daba87..af4ae5ed7b 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -60,6 +60,10 @@ 12dip + 0% + 8dp + 0dp + 8dp @@ -160,5 +164,4 @@ 8dp 2dp - diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java index 7de2774dcd..538c24a66b 100644 --- a/src/com/android/launcher3/BaseContainerView.java +++ b/src/com/android/launcher3/BaseContainerView.java @@ -22,7 +22,6 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.InsetDrawable; import android.util.AttributeSet; -import android.util.Log; import android.view.View; import android.widget.FrameLayout; @@ -35,9 +34,6 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl // The window insets private final Rect mInsets = new Rect(); - // 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 final Rect mFixedSearchBarBounds = new Rect(); // The computed padding to apply to the container to achieve the container bounds protected final Rect mContentPadding = new Rect(); // The inset to apply to the edges and between the search bar and the container @@ -48,6 +44,8 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl private View mRevealView; private View mContent; + protected final int mHorizontalPadding; + public BaseContainerView(Context context) { this(context, null); } @@ -64,6 +62,17 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl R.styleable.BaseContainerView, defStyleAttr, 0); mRevealDrawable = a.getDrawable(R.styleable.BaseContainerView_revealBackground); a.recycle(); + + int maxSize = getResources().getDimensionPixelSize(R.dimen.container_max_width); + int minMargin = getResources().getDimensionPixelSize(R.dimen.container_min_margin); + int width = ((Launcher) context).getDeviceProfile().availableWidthPx; + + if (maxSize > 0) { + mHorizontalPadding = Math.max(minMargin, (width - maxSize) / 2); + } else { + mHorizontalPadding = Math.max(minMargin, + (int) getResources().getFraction(R.fraction.container_margin, width, 1)); + } } @Override @@ -84,12 +93,6 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl * Sets the search bar bounds for this container view to match. */ final public void setSearchBarBounds(Rect bounds) { - if (LauncherAppState.isDogfoodBuild() && !isValidSearchBarBounds(bounds)) { - Log.e(TAG, "Invalid search bar bounds: " + bounds); - } - - mFixedSearchBarBounds.set(bounds); - // Post the updates since they can trigger a relayout, and this call can be triggered from // a layout pass itself. post(new Runnable() { @@ -105,21 +108,12 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl */ protected void updateBackgroundAndPaddings() { Rect padding; - if (isValidSearchBarBounds(mFixedSearchBarBounds)) { - padding = new Rect( - mFixedSearchBarBounds.left, - mInsets.top + mContainerBoundsInset, - getMeasuredWidth() - mFixedSearchBarBounds.right, - mInsets.bottom + mContainerBoundsInset - ); - } else { - padding = new Rect( - mInsets.left + mContainerBoundsInset, - mInsets.top + mContainerBoundsInset, - mInsets.right + mContainerBoundsInset, - mInsets.bottom + mContainerBoundsInset - ); - } + padding = new Rect( + mHorizontalPadding, + mInsets.top + mContainerBoundsInset, + mHorizontalPadding, + mInsets.bottom + mContainerBoundsInset + ); // The container padding changed, notify the container. if (!padding.equals(mContentPadding)) { @@ -149,15 +143,6 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl protected abstract void onUpdateBgPadding(Rect padding, Rect bgPadding); - /** - * Returns whether the search bar bounds we got are considered valid. - */ - private boolean isValidSearchBarBounds(Rect searchBarBounds) { - return !searchBarBounds.isEmpty() && - searchBarBounds.right <= getMeasuredWidth() && - searchBarBounds.bottom <= getMeasuredHeight(); - } - public final View getContentView() { return mContent; }