[DO NOT MERGE] updateOverlayBounds no longer rely on LauncherCallback method

mFixedSearchBarBounds is no longer used.

b/25255451

Change-Id: I3e2f7511c7a418f211a8b17a62b98f2736dfc91d
This commit is contained in:
Hyunyoung Song
2016-04-04 13:47:01 -07:00
committed by Sunny Goyal
parent f4c0f7d250
commit 04907eea71
6 changed files with 54 additions and 36 deletions
+2
View File
@@ -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>
+4
View File
@@ -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>
+4 -1
View File
@@ -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>
+21
View File
@@ -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>
+4 -1
View File
@@ -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>
@@ -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;
}