Fix issue where custom content would show up on boot (issue 10713745)
Change-Id: I1c03784970fe1a88e2561f1c5367979cda825973
This commit is contained in:
@@ -1082,8 +1082,9 @@ public class Launcher extends Activity
|
||||
mOnResumeState = State.APPS_CUSTOMIZE;
|
||||
}
|
||||
|
||||
int currentScreen = savedState.getInt(RUNTIME_STATE_CURRENT_SCREEN, -1);
|
||||
if (currentScreen > -1) {
|
||||
int currentScreen = savedState.getInt(RUNTIME_STATE_CURRENT_SCREEN,
|
||||
PagedView.INVALID_RESTORE_PAGE);
|
||||
if (currentScreen != PagedView.INVALID_RESTORE_PAGE) {
|
||||
mWorkspace.setRestorePage(currentScreen);
|
||||
}
|
||||
|
||||
@@ -1703,7 +1704,9 @@ public class Launcher extends Activity
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
outState.putInt(RUNTIME_STATE_CURRENT_SCREEN, mWorkspace.getNextPage());
|
||||
if (mWorkspace.getChildCount() > 0) {
|
||||
outState.putInt(RUNTIME_STATE_CURRENT_SCREEN, mWorkspace.getRestorePage());
|
||||
}
|
||||
super.onSaveInstanceState(outState);
|
||||
|
||||
outState.putInt(RUNTIME_STATE, mState.ordinal());
|
||||
|
||||
@@ -97,6 +97,8 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
||||
private static final boolean DISABLE_TOUCH_SIDE_PAGES = true;
|
||||
private static final boolean DISABLE_FLING_TO_DELETE = true;
|
||||
|
||||
public static final int INVALID_RESTORE_PAGE = -1001;
|
||||
|
||||
private boolean mFreeScroll = false;
|
||||
private int mFreeScrollMinScrollX = -1;
|
||||
private int mFreeScrollMaxScrollX = -1;
|
||||
@@ -115,7 +117,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
||||
private int mNormalChildHeight;
|
||||
|
||||
protected int mCurrentPage;
|
||||
protected int mRestorePage = -1;
|
||||
protected int mRestorePage = INVALID_RESTORE_PAGE;
|
||||
protected int mChildCountOnLastLayout;
|
||||
|
||||
protected int mNextPage = INVALID_PAGE;
|
||||
@@ -546,7 +548,6 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
||||
if (getChildCount() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
mForceScreenScrolled = true;
|
||||
mCurrentPage = Math.max(0, Math.min(currentPage, getPageCount() - 1));
|
||||
updateCurrentPageScroll();
|
||||
@@ -982,9 +983,9 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
||||
|
||||
if (mScroller.isFinished() && mChildCountOnLastLayout != getChildCount() &&
|
||||
!mDeferringForDelete) {
|
||||
if (mRestorePage > -1) {
|
||||
if (mRestorePage != INVALID_RESTORE_PAGE) {
|
||||
setCurrentPage(mRestorePage);
|
||||
mRestorePage = -1;
|
||||
mRestorePage = INVALID_RESTORE_PAGE;
|
||||
} else {
|
||||
setCurrentPage(getNextPage());
|
||||
}
|
||||
|
||||
@@ -538,10 +538,14 @@ public class Workspace extends SmoothPagedView
|
||||
|
||||
// Ensure that the current page and default page are maintained.
|
||||
mDefaultPage = mOriginalDefaultPage + 1;
|
||||
setCurrentPage(getCurrentPage() + 1);
|
||||
|
||||
// Update the custom content hint
|
||||
mLauncher.updateCustomContentHintVisibility();
|
||||
if (mRestorePage != INVALID_RESTORE_PAGE) {
|
||||
mRestorePage = mRestorePage + 1;
|
||||
} else {
|
||||
setCurrentPage(getCurrentPage() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeCustomContentPage() {
|
||||
@@ -557,10 +561,14 @@ public class Workspace extends SmoothPagedView
|
||||
|
||||
// Ensure that the current page and default page are maintained.
|
||||
mDefaultPage = mOriginalDefaultPage - 1;
|
||||
setCurrentPage(getCurrentPage() - 1);
|
||||
|
||||
// Update the custom content hint
|
||||
mLauncher.updateCustomContentHintVisibility();
|
||||
if (mRestorePage != INVALID_RESTORE_PAGE) {
|
||||
mRestorePage = mRestorePage - 1;
|
||||
} else {
|
||||
setCurrentPage(getCurrentPage() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
public void addToCustomContentPage(View customContent, CustomContentCallbacks callbacks,
|
||||
@@ -3722,6 +3730,10 @@ public class Workspace extends SmoothPagedView
|
||||
return mDragInfo;
|
||||
}
|
||||
|
||||
public int getRestorePage() {
|
||||
return getNextPage() - numCustomPages();
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate the nearest cell where the given object would be dropped.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user