summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-11-07 13:45:53 -0800
committerMichael Jurka <mikejurka@google.com>2012-11-07 14:22:26 -0800
commit1413889565bc1b9d5d5fb73302460a4f25f4a8c0 (patch)
tree0383a54b3f9df335e777d738930b8b48916d87dd /policy
parent0fc1b5ecba383f7d3a5e6154a9569ec7d35d64ce (diff)
downloadframeworks_base-1413889565bc1b9d5d5fb73302460a4f25f4a8c0.zip
frameworks_base-1413889565bc1b9d5d5fb73302460a4f25f4a8c0.tar.gz
frameworks_base-1413889565bc1b9d5d5fb73302460a4f25f4a8c0.tar.bz2
Fix bug where newly added widget wasn't always shown
Bug: 7491900 Change-Id: I878eea745ee6127b757aa945631c1a4eb08d9936
Diffstat (limited to 'policy')
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java13
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java6
2 files changed, 18 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 01d8908..67504fb 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
@@ -792,6 +792,9 @@ public class KeyguardHostView extends KeyguardViewBase {
// Once the screen turns off, we no longer consider this to be first boot and we want the
// biometric unlock to start next time keyguard is shown.
KeyguardUpdateMonitor.getInstance(mContext).setAlternateUnlockEnabled(true);
+ // We use mAppWidgetToShow to show a particular widget after you add it-- once the screen
+ // turns off we reset that behavior
+ clearAppWidgetToShow();
checkAppWidgetConsistency();
showPrimarySecurityScreen(true);
getSecurityView(mCurrentSecuritySelection).onPause();
@@ -801,6 +804,10 @@ public class KeyguardHostView extends KeyguardViewBase {
}
}
+ public void clearAppWidgetToShow() {
+ mAppWidgetToShow = AppWidgetManager.INVALID_APPWIDGET_ID;
+ }
+
@Override
public void show() {
if (DEBUG) Log.d(TAG, "show()");
@@ -1178,6 +1185,7 @@ public class KeyguardHostView extends KeyguardViewBase {
static class SavedState extends BaseSavedState {
int transportState;
+ int appWidgetToShow = AppWidgetManager.INVALID_APPWIDGET_ID;
SavedState(Parcelable superState) {
super(superState);
@@ -1186,12 +1194,14 @@ public class KeyguardHostView extends KeyguardViewBase {
private SavedState(Parcel in) {
super(in);
this.transportState = in.readInt();
+ this.appWidgetToShow = in.readInt();
}
@Override
public void writeToParcel(Parcel out, int flags) {
super.writeToParcel(out, flags);
out.writeInt(this.transportState);
+ out.writeInt(this.appWidgetToShow);
}
public static final Parcelable.Creator<SavedState> CREATOR
@@ -1212,6 +1222,7 @@ public class KeyguardHostView extends KeyguardViewBase {
Parcelable superState = super.onSaveInstanceState();
SavedState ss = new SavedState(superState);
ss.transportState = mViewStateManager.getTransportState();
+ ss.appWidgetToShow = mAppWidgetToShow;
return ss;
}
@@ -1225,6 +1236,7 @@ public class KeyguardHostView extends KeyguardViewBase {
SavedState ss = (SavedState) state;
super.onRestoreInstanceState(ss.getSuperState());
mViewStateManager.setTransportState(ss.transportState);
+ mAppWidgetToShow = ss.appWidgetToShow;
post(mSwitchPageRunnable);
}
@@ -1277,7 +1289,6 @@ public class KeyguardHostView extends KeyguardViewBase {
for (int i = 0; i < childCount; i++) {
if (mAppWidgetContainer.getWidgetPageAt(i).getContentAppWidgetId()
== mAppWidgetToShow) {
- mAppWidgetToShow = AppWidgetManager.INVALID_APPWIDGET_ID;
return i;
}
}
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java
index 4fdf7d8..41db69a 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java
@@ -15,6 +15,7 @@
*/
package com.android.internal.policy.impl.keyguard;
+import android.appwidget.AppWidgetManager;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
@@ -115,6 +116,11 @@ public class KeyguardViewStateManager implements
scl.fadeOutChallenge();
mPageIndexOnPageBeginMoving = mKeyguardWidgetPager.getCurrentPage();
}
+ // We use mAppWidgetToShow to show a particular widget after you add it--
+ // once the user swipes a page we clear that behavior
+ if (mKeyguardHostView != null) {
+ mKeyguardHostView.clearAppWidgetToShow();
+ }
if (mHideHintsRunnable != null) {
mMainQueue.removeCallbacks(mHideHintsRunnable);
mHideHintsRunnable = null;