* commit 'bad518170388de0a4cf9872da25bd271ddecd355': Potential fix for bug 4479399
This commit is contained in:
@@ -69,6 +69,7 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All
|
||||
|
||||
private int mLastMeasureWidth = -1;
|
||||
private int mLastMeasureHeight = -1;
|
||||
private boolean mWaitingToInitPages = true;
|
||||
|
||||
private int mMaxCellCountY;
|
||||
|
||||
@@ -121,13 +122,16 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All
|
||||
mCellCountY = determineCellCountY(height, layout);
|
||||
mLastMeasureWidth = width;
|
||||
mLastMeasureHeight = height;
|
||||
removeAllViews();
|
||||
invalidatePageData();
|
||||
}
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
||||
if (mFirstLayout) {
|
||||
if (mWaitingToInitPages) {
|
||||
mWaitingToInitPages = false;
|
||||
invalidatePageData();
|
||||
|
||||
// invalidatePageData() is what causes the child pages to be created. We need the
|
||||
@@ -548,12 +552,17 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncPages() {
|
||||
if (mCellCountX <= 0 || mCellCountY <= 0) {
|
||||
protected void invalidatePageData() {
|
||||
if (mWaitingToInitPages || mCellCountX <= 0 || mCellCountY <= 0) {
|
||||
// We don't know our size yet, which means we haven't calculated cell count x/y;
|
||||
// onMeasure will call us once we figure out our size
|
||||
return;
|
||||
}
|
||||
super.invalidatePageData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncPages() {
|
||||
// ensure that we have the right number of pages (min of 1, since we have placeholders)
|
||||
int numPages = Math.max(1,
|
||||
(int) Math.ceil((float) mFilteredApps.size() / (mCellCountX * mCellCountY)));
|
||||
|
||||
@@ -151,6 +151,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
|
||||
private AllAppsPagedView mAllAppsPagedView;
|
||||
|
||||
private boolean mWaitingToInitPages = true;
|
||||
|
||||
public CustomizePagedView(Context context) {
|
||||
this(context, null, 0);
|
||||
}
|
||||
@@ -208,6 +210,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
mPageContentWidth = layout.getContentWidth();
|
||||
mPageContentHeight = layout.getContentHeight();
|
||||
mMinPageWidth = layout.getWidthBeforeFirstLayout();
|
||||
removeAllViews();
|
||||
invalidatePageData();
|
||||
}
|
||||
if (mPageContentHeight > 0) {
|
||||
// Lock our height to the size of the page content
|
||||
@@ -220,7 +224,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
|
||||
@Override
|
||||
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
||||
if (mFirstLayout) {
|
||||
if (mWaitingToInitPages) {
|
||||
mWaitingToInitPages = false;
|
||||
invalidatePageData();
|
||||
|
||||
// invalidatePageData() is what causes the child pages to be created. We need the
|
||||
@@ -1140,12 +1145,17 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncPages() {
|
||||
if (mFirstMeasure) {
|
||||
protected void invalidatePageData() {
|
||||
if (mWaitingToInitPages || mCellCountX <= 0 || mCellCountY <= 0) {
|
||||
// We don't know our size yet, which means we haven't calculated cell count x/y;
|
||||
// onMeasure will call us once we figure out our size
|
||||
return;
|
||||
}
|
||||
super.invalidatePageData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncPages() {
|
||||
boolean enforceMinimumPagedWidths = false;
|
||||
boolean centerPagedViewCellLayouts = false;
|
||||
switch (mCustomizationType) {
|
||||
|
||||
@@ -111,8 +111,8 @@ public abstract class PagedView extends ViewGroup {
|
||||
protected int mPageLayoutWidthGap;
|
||||
protected int mPageLayoutHeightGap;
|
||||
protected int mPageLayoutMaxHeight;
|
||||
protected int mCellCountX = -1;
|
||||
protected int mCellCountY = -1;
|
||||
protected int mCellCountX = 0;
|
||||
protected int mCellCountY = 0;
|
||||
protected boolean mCenterPagesVertically;
|
||||
protected boolean mAllowOverScroll = true;
|
||||
protected int mUnboundedScrollX;
|
||||
|
||||
Reference in New Issue
Block a user