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;
}