diff options
| author | Michael Jurka <mikejurka@google.com> | 2012-11-07 13:45:53 -0800 |
|---|---|---|
| committer | Michael Jurka <mikejurka@google.com> | 2012-11-07 14:22:26 -0800 |
| commit | 1413889565bc1b9d5d5fb73302460a4f25f4a8c0 (patch) | |
| tree | 0383a54b3f9df335e777d738930b8b48916d87dd /policy | |
| parent | 0fc1b5ecba383f7d3a5e6154a9569ec7d35d64ce (diff) | |
| download | frameworks_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.java | 13 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java | 6 |
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; |
