From 13178ac822c2f378fe93b09c1c192523b4df06c0 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 4 Apr 2016 16:35:22 -0700 Subject: [PATCH] Adding an upper bound to all-apps width on larger devices Change-Id: I16a0d8fb7c5023045d0a6b9e8089e0ab6a476d6d --- res/values-sw600dp-land/dimens.xml | 3 +++ res/values-sw768dp-port/dimens.xml | 20 +++++++++++++++++++ res/values/dimens.xml | 1 + .../android/launcher3/BaseContainerView.java | 8 +------- src/com/android/launcher3/DeviceProfile.java | 15 ++++++++++++++ 5 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 res/values-sw768dp-port/dimens.xml diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml index f9ca01beec..be16c89258 100644 --- a/res/values-sw600dp-land/dimens.xml +++ b/res/values-sw600dp-land/dimens.xml @@ -18,4 +18,7 @@ 12dip 20dip + + + 736dp diff --git a/res/values-sw768dp-port/dimens.xml b/res/values-sw768dp-port/dimens.xml new file mode 100644 index 0000000000..6fb2bf69af --- /dev/null +++ b/res/values-sw768dp-port/dimens.xml @@ -0,0 +1,20 @@ + + + + + + 736dp + diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 7d8f6f6cfd..281de08ae7 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -69,6 +69,7 @@ 0% 8dp + 0dp 0dp diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java index 51a97b91b6..64d50b7d01 100644 --- a/src/com/android/launcher3/BaseContainerView.java +++ b/src/com/android/launcher3/BaseContainerView.java @@ -18,16 +18,12 @@ package com.android.launcher3; import android.content.Context; import android.content.res.TypedArray; -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; -import com.android.launcher3.config.ProviderConfig; - /** * A base container view, which supports resizing. */ @@ -52,9 +48,7 @@ public abstract class BaseContainerView extends FrameLayout { super(context, attrs, defStyleAttr); int width = ((Launcher) context).getDeviceProfile().availableWidthPx; - mHorizontalPadding = Math.max( - getResources().getDimensionPixelSize(R.dimen.container_min_margin), - (int) getResources().getFraction(R.fraction.container_margin, width, 1)); + mHorizontalPadding = DeviceProfile.getMaxContainerWidth(context, width); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BaseContainerView, defStyleAttr, 0); diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 7c6f39e9c4..c0267c425d 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -594,4 +594,19 @@ public class DeviceProfile { ? Math.min(widthPx, heightPx) : Math.max(widthPx, heightPx); } + + + public static final int getMaxContainerWidth(Context context, int availableWidth) { + Resources res = context.getResources(); + + int maxSize = res.getDimensionPixelSize(R.dimen.container_max_width); + int minMargin = res.getDimensionPixelSize(R.dimen.container_min_margin); + + if (maxSize > 0) { + return Math.max(minMargin, (availableWidth - maxSize) / 2); + } else { + return Math.max(minMargin, + (int) res.getFraction(R.fraction.container_margin, availableWidth, 1)); + } + } }