summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson Chung <winsonc@google.com> 2012-12-04 16:31:49 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2012-12-04 16:31:49 -0800
commit8f90249de422b10f5661ac437dd57fc034ee6933 (patch)
tree5a5ef5e9d43f851a7499887386e83f763ac23ed1
parent70463dca7de2843908523348d6f97f075efe9632 (diff)
parentca83e1d5410d12220d48b8c52ed06cfb52fb9868 (diff)
am ca83e1d5: Merge "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)" into jb-mr1.1-dev
* commit 'ca83e1d5410d12220d48b8c52ed06cfb52fb9868': Saving and restoring current page when rotating in lockscreen. (Bug 7568412)
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
index 94cd0b55b79c..c47f89da3054 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
@@ -80,6 +80,7 @@ public class KeyguardHostView extends KeyguardViewBase {
private boolean mEnableFallback; // TODO: This should get the value from KeyguardPatternView
private SecurityMode mCurrentSecuritySelection = SecurityMode.Invalid;
private int mAppWidgetToShow;
+ private int mPreviousWidgetPage = -1;
private boolean mCheckAppWidgetConsistencyOnBootCompleted = false;
private boolean mCleanupAppWidgetsOnBootCompleted = false;
@@ -911,6 +912,7 @@ public class KeyguardHostView extends KeyguardViewBase {
public void clearAppWidgetToShow() {
mAppWidgetToShow = AppWidgetManager.INVALID_APPWIDGET_ID;
+ mPreviousWidgetPage = -1;
}
@Override
@@ -1298,10 +1300,22 @@ public class KeyguardHostView extends KeyguardViewBase {
showAppropriateWidgetPage();
}
};
+ Runnable mOnRestoreUpdatePageRunnable = new Runnable() {
+ @Override
+ public void run() {
+ mSwitchPageRunnable.run();
+
+ // We need to update the alpha's of the hints and content after setting the current page
+ mViewStateManager.showUsabilityHints();
+ };
+ };
+
static class SavedState extends BaseSavedState {
int transportState;
int appWidgetToShow = AppWidgetManager.INVALID_APPWIDGET_ID;
+ // Note the appWidgetContainerPage is only used if the appWidgetToShow is invalid
+ int appWidgetContainerPage = -1;
SavedState(Parcelable superState) {
super(superState);
@@ -1311,6 +1325,7 @@ public class KeyguardHostView extends KeyguardViewBase {
super(in);
this.transportState = in.readInt();
this.appWidgetToShow = in.readInt();
+ this.appWidgetContainerPage = in.readInt();
}
@Override
@@ -1318,6 +1333,7 @@ public class KeyguardHostView extends KeyguardViewBase {
super.writeToParcel(out, flags);
out.writeInt(this.transportState);
out.writeInt(this.appWidgetToShow);
+ out.writeInt(this.appWidgetContainerPage);
}
public static final Parcelable.Creator<SavedState> CREATOR
@@ -1339,6 +1355,7 @@ public class KeyguardHostView extends KeyguardViewBase {
SavedState ss = new SavedState(superState);
ss.transportState = mViewStateManager.getTransportState();
ss.appWidgetToShow = mAppWidgetToShow;
+ ss.appWidgetContainerPage = mAppWidgetContainer.getCurrentPage();
return ss;
}
@@ -1353,7 +1370,8 @@ public class KeyguardHostView extends KeyguardViewBase {
super.onRestoreInstanceState(ss.getSuperState());
mViewStateManager.setTransportState(ss.transportState);
mAppWidgetToShow = ss.appWidgetToShow;
- post(mSwitchPageRunnable);
+ mPreviousWidgetPage = ss.appWidgetContainerPage;
+ post(mOnRestoreUpdatePageRunnable);
}
@Override
@@ -1410,6 +1428,9 @@ public class KeyguardHostView extends KeyguardViewBase {
}
mAppWidgetToShow = AppWidgetManager.INVALID_APPWIDGET_ID;
}
+ if (mPreviousWidgetPage > -1) {
+ return mPreviousWidgetPage;
+ }
// if music playing, show transport
if (isMusicPlaying) {
if (DEBUG) Log.d(TAG, "Music playing, show transport");