mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 19:38:21 +00:00
am 330ae983: Merge "Fix issue where All Apps tab bar was too small" into honeycomb-mr2
* commit '330ae9835c920d4bdba43806d733c350991d0dcf': Fix issue where All Apps tab bar was too small
This commit is contained in:
@@ -122,8 +122,7 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All
|
||||
mCellCountY = determineCellCountY(height, layout);
|
||||
mLastMeasureWidth = width;
|
||||
mLastMeasureHeight = height;
|
||||
removeAllViews();
|
||||
invalidatePageData();
|
||||
postInvalidatePageData(true);
|
||||
}
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
}
|
||||
@@ -132,12 +131,7 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All
|
||||
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
||||
if (mWaitingToInitPages) {
|
||||
mWaitingToInitPages = false;
|
||||
invalidatePageData();
|
||||
|
||||
// invalidatePageData() is what causes the child pages to be created. We need the
|
||||
// children to be measured before layout, so force a new measure here.
|
||||
measure(MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY),
|
||||
MeasureSpec.makeMeasureSpec(getMeasuredHeight(), MeasureSpec.EXACTLY));
|
||||
postInvalidatePageData(false);
|
||||
}
|
||||
super.onLayout(changed, left, top, right, bottom);
|
||||
}
|
||||
|
||||
@@ -163,18 +163,28 @@ public class AllAppsTabbed extends TabHost implements AllAppsView, LauncherTrans
|
||||
protected void onLayout(boolean changed, int l, int t, int r, int b) {
|
||||
if (mFirstLayout) {
|
||||
mFirstLayout = false;
|
||||
// Set the width of the tab bar properly
|
||||
int pageWidth = mAllApps.getPageContentWidth();
|
||||
TabWidget tabWidget = (TabWidget) findViewById(com.android.internal.R.id.tabs);
|
||||
View allAppsTabBar = (View) findViewById(R.id.all_apps_tab_bar);
|
||||
if (allAppsTabBar == null) throw new Resources.NotFoundException();
|
||||
int tabWidgetPadding = 0;
|
||||
final int childCount = tabWidget.getChildCount();
|
||||
if (childCount > 0) {
|
||||
tabWidgetPadding += tabWidget.getChildAt(0).getPaddingLeft() * 2;
|
||||
}
|
||||
allAppsTabBar.getLayoutParams().width = pageWidth + tabWidgetPadding;
|
||||
}
|
||||
// Set the width of the tab bar properly
|
||||
int pageWidth = mAllApps.getPageContentWidth();
|
||||
TabWidget tabWidget = (TabWidget) findViewById(com.android.internal.R.id.tabs);
|
||||
View allAppsTabBar = (View) findViewById(R.id.all_apps_tab_bar);
|
||||
if (allAppsTabBar == null) throw new Resources.NotFoundException();
|
||||
int tabWidgetPadding = 0;
|
||||
final int childCount = tabWidget.getChildCount();
|
||||
if (childCount > 0) {
|
||||
tabWidgetPadding += tabWidget.getChildAt(0).getPaddingLeft() * 2;
|
||||
}
|
||||
|
||||
int newWidth = Math.min(getMeasuredWidth(), pageWidth + tabWidgetPadding);
|
||||
if (newWidth != allAppsTabBar.getLayoutParams().width) {
|
||||
allAppsTabBar.getLayoutParams().width = newWidth;
|
||||
post(new Runnable() {
|
||||
public void run() {
|
||||
requestLayout();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
super.onLayout(changed, l, t, r, b);
|
||||
}
|
||||
|
||||
|
||||
@@ -210,8 +210,7 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
mPageContentWidth = layout.getContentWidth();
|
||||
mPageContentHeight = layout.getContentHeight();
|
||||
mMinPageWidth = layout.getWidthBeforeFirstLayout();
|
||||
removeAllViews();
|
||||
invalidatePageData();
|
||||
postInvalidatePageData(true);
|
||||
}
|
||||
if (mPageContentHeight > 0) {
|
||||
// Lock our height to the size of the page content
|
||||
@@ -226,12 +225,7 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
||||
if (mWaitingToInitPages) {
|
||||
mWaitingToInitPages = false;
|
||||
invalidatePageData();
|
||||
|
||||
// invalidatePageData() is what causes the child pages to be created. We need the
|
||||
// children to be measured before layout, so force a new measure here.
|
||||
measure(MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY),
|
||||
MeasureSpec.makeMeasureSpec(getMeasuredHeight(), MeasureSpec.EXACTLY));
|
||||
postInvalidatePageData(false);
|
||||
}
|
||||
super.onLayout(changed, left, top, right, bottom);
|
||||
mFirstLayout = false;
|
||||
|
||||
@@ -1514,6 +1514,18 @@ public abstract class PagedView extends ViewGroup {
|
||||
*/
|
||||
public abstract void syncPageItems(int page);
|
||||
|
||||
protected void postInvalidatePageData(final boolean clearViews) {
|
||||
post(new Runnable() {
|
||||
// post the call to avoid a call to requestLayout from a layout pass
|
||||
public void run() {
|
||||
if (clearViews) {
|
||||
removeAllViews();
|
||||
}
|
||||
invalidatePageData();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void invalidatePageData() {
|
||||
if (mContentIsRefreshable) {
|
||||
// Update all the pages
|
||||
|
||||
Reference in New Issue
Block a user