[DO NOT MERGE] updateOverlayBounds no longer rely on LauncherCallback method
mFixedSearchBarBounds is no longer used.
b/25255451
Change-Id: I3e2f7511c7a418f211a8b17a62b98f2736dfc91d
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 06a9984..fa36231 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -18,4 +18,6 @@
<!-- QSB -->
<dimen name="toolbar_button_vertical_padding">8dip</dimen>
<dimen name="toolbar_button_horizontal_padding">0dip</dimen>
+ <!-- Container -->
+ <item name="container_margin" format="fraction" type="fraction">12%</item>
</resources>
diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
index f9ca01b..644c891 100644
--- a/res/values-sw600dp-land/dimens.xml
+++ b/res/values-sw600dp-land/dimens.xml
@@ -18,4 +18,8 @@
<!-- QSB -->
<dimen name="toolbar_button_vertical_padding">12dip</dimen>
<dimen name="toolbar_button_horizontal_padding">20dip</dimen>
+
+<!-- Container -->
+ <dimen name="container_max_width">736dp</dimen>
+
</resources>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index feb1a00..0756dc9 100644
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -15,7 +15,10 @@
-->
<resources>
-<!-- All Apps -->
+ <!-- Container -->
+ <dimen name="container_min_margin">16dp</dimen>
+
+ <!-- All Apps -->
<dimen name="all_apps_grid_view_start_margin">0dp</dimen>
<dimen name="all_apps_grid_section_text_size">26sp</dimen>
<dimen name="all_apps_icon_top_bottom_padding">12dp</dimen>
diff --git a/res/values-sw768dp-port/dimens.xml b/res/values-sw768dp-port/dimens.xml
new file mode 100644
index 0000000..4df1725
--- /dev/null
+++ b/res/values-sw768dp-port/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+<!-- Container -->
+ <dimen name="container_max_width">736dp</dimen>
+
+</resources>
\ No newline at end of file
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a303dab..af4ae5e 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -60,6 +60,10 @@
<dimen name="toolbar_button_horizontal_padding">12dip</dimen>
<!-- Container -->
+ <item name="container_margin" format="fraction" type="fraction">0%</item>
+ <dimen name="container_min_margin">8dp</dimen>
+ <dimen name="container_max_width">0dp</dimen>
+
<!-- Note: This needs to match the fixed insets for the search box. -->
<dimen name="container_bounds_inset">8dp</dimen>
<!-- Notes: container_bounds_inset - quantum_panel_outer_padding -->
@@ -160,5 +164,4 @@
<!-- Pending widget -->
<dimen name="pending_widget_min_padding">8dp</dimen>
<dimen name="pending_widget_elevation">2dp</dimen>
-
</resources>
diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java
index 7de2774..538c24a 100644
--- a/src/com/android/launcher3/BaseContainerView.java
+++ b/src/com/android/launcher3/BaseContainerView.java
@@ -22,7 +22,6 @@
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 @@
// 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 @@
private View mRevealView;
private View mContent;
+ protected final int mHorizontalPadding;
+
public BaseContainerView(Context context) {
this(context, null);
}
@@ -64,6 +62,17 @@
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 @@
* 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 @@
*/
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 @@
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;
}