summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2013-07-24 18:47:10 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-07-24 18:47:10 +0000
commit390af56a31562cc7c42a719db4192d0cee0b0f9d (patch)
treebd634c88ac11e1e6ecff70f8f23681413697db39 /src/com
parentec40b2b90c649be3b513af2ba174db56b54b64f6 (diff)
parent8c87cd83e09cd361c68069c84940dbaf20e9860d (diff)
downloadandroid_packages_apps_Trebuchet-390af56a31562cc7c42a719db4192d0cee0b0f9d.tar.gz
android_packages_apps_Trebuchet-390af56a31562cc7c42a719db4192d0cee0b0f9d.tar.bz2
android_packages_apps_Trebuchet-390af56a31562cc7c42a719db4192d0cee0b0f9d.zip
Merge "Fixing issue where the page was reset to 0 on rotation." into jb-ub-gel-agar
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher3/Launcher.java2
-rw-r--r--src/com/android/launcher3/PagedView.java16
2 files changed, 16 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 359204542..321c4e712 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -990,7 +990,7 @@ public class Launcher extends Activity
int currentScreen = savedState.getInt(RUNTIME_STATE_CURRENT_SCREEN, -1);
if (currentScreen > -1) {
- mWorkspace.setCurrentPage(currentScreen);
+ mWorkspace.setRestorePage(currentScreen);
}
final long pendingAddContainer = savedState.getLong(RUNTIME_STATE_PENDING_ADD_CONTAINER, -1);
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index aaff58886..ed88ea90d 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -104,6 +104,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
protected boolean mFirstLayout = true;
protected int mCurrentPage;
+ protected int mRestorePage = -1;
protected int mChildCountOnLastLayout;
protected int mNextPage = INVALID_PAGE;
@@ -506,6 +507,14 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
invalidate();
}
+ /**
+ * The restore page will be set in place of the current page at the next (likely first)
+ * layout.
+ */
+ void setRestorePage(int restorePage) {
+ mRestorePage = restorePage;
+ }
+
protected void notifyPageSwitchListener() {
if (mPageSwitchListener != null) {
mPageSwitchListener.onPageSwitch(getPageAt(mCurrentPage), mCurrentPage);
@@ -870,7 +879,12 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
if (mScroller.isFinished() && mChildCountOnLastLayout != getChildCount() &&
!mDeferringForDelete) {
- setCurrentPage(getNextPage());
+ if (mRestorePage > -1) {
+ setCurrentPage(mRestorePage);
+ mRestorePage = -1;
+ } else {
+ setCurrentPage(getNextPage());
+ }
}
mChildCountOnLastLayout = getChildCount();
}