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