Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +39 −13 Original line number Diff line number Diff line Loading @@ -82,6 +82,9 @@ public class KeyguardHostView extends KeyguardViewBase { private KeyguardSecurityModel mSecurityModel; private KeyguardViewStateManager mViewStateManager; int mLocalStickyWidget = -1; boolean mPersitentStickyWidgetLoaded = false; private Rect mTempRect = new Rect(); /*package*/ interface TransportCallback { Loading Loading @@ -109,7 +112,7 @@ public class KeyguardHostView extends KeyguardViewBase { mAppWidgetManager = AppWidgetManager.getInstance(mContext); mSecurityModel = new KeyguardSecurityModel(context); mViewStateManager = new KeyguardViewStateManager(); mViewStateManager = new KeyguardViewStateManager(this); } @Override Loading Loading @@ -1169,6 +1172,37 @@ public class KeyguardHostView extends KeyguardViewBase { return v != null && v.getId() == R.id.keyguard_add_widget; } private boolean isMusicPage(int pageIndex) { return pageIndex >= 0 && pageIndex == getWidgetPosition(R.id.keyguard_transport_control); } private int getStickyWidget() { // The first time we query the persistent state. From that point, we use a locally updated // notion of the sticky widget page. if (!mPersitentStickyWidgetLoaded) { mLocalStickyWidget = mLockPatternUtils.getStickyAppWidgetIndex(); mPersitentStickyWidgetLoaded = true; } return mLocalStickyWidget; } public void updateStickyWidget(int index) { if (index < 0 || index >= mAppWidgetContainer.getChildCount()) { return; } if (isAddPage(index)) { return; } if (isCameraPage(index)) { return; } if (isMusicPage(index)) { return; } mLocalStickyWidget = index; } private int getAppropriateWidgetPage(boolean isMusicPlaying) { // assumes at least one widget (besides camera + add) Loading @@ -1179,7 +1213,7 @@ public class KeyguardHostView extends KeyguardViewBase { } // if we have a valid sticky widget, show it int stickyWidgetIndex = mLockPatternUtils.getStickyAppWidgetIndex(); int stickyWidgetIndex = getStickyWidget(); if (stickyWidgetIndex > -1 && stickyWidgetIndex < mAppWidgetContainer.getChildCount() && !isAddPage(stickyWidgetIndex) Loading @@ -1198,18 +1232,10 @@ public class KeyguardHostView extends KeyguardViewBase { } private void saveStickyWidgetIndex() { int stickyWidgetIndex = mAppWidgetContainer.getCurrentPage(); if (isAddPage(stickyWidgetIndex)) { stickyWidgetIndex++; } if (isCameraPage(stickyWidgetIndex)) { stickyWidgetIndex--; } if (stickyWidgetIndex < 0 || stickyWidgetIndex >= mAppWidgetContainer.getChildCount()) { stickyWidgetIndex = -1; if (DEBUG) Log.d(TAG, "saveStickyWidgetIndex: " + mLocalStickyWidget); if (mPersitentStickyWidgetLoaded && mLocalStickyWidget >= 0) { mLockPatternUtils.setStickyAppWidgetIndex(mLocalStickyWidget); } if (DEBUG) Log.d(TAG, "saveStickyWidgetIndex: " + stickyWidgetIndex); mLockPatternUtils.setStickyAppWidgetIndex(stickyWidgetIndex); } private void enableUserSelectorIfNecessary() { Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java +7 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ public class KeyguardViewStateManager implements private KeyguardWidgetPager mKeyguardWidgetPager; private ChallengeLayout mChallengeLayout; private KeyguardHostView mKeyguardHostView; private int[] mTmpPoint = new int[2]; private int[] mTmpLoc = new int[2]; Loading @@ -49,7 +50,8 @@ public class KeyguardViewStateManager implements int mChallengeTop = 0; public KeyguardViewStateManager() { public KeyguardViewStateManager(KeyguardHostView hostView) { mKeyguardHostView = hostView; } public void setPagedView(KeyguardWidgetPager pagedView) { Loading Loading @@ -145,6 +147,10 @@ public class KeyguardViewStateManager implements // We only modify the page state if it is not currently under control by the slider. // This prevents conflicts. if (mKeyguardHostView != null) { mKeyguardHostView.updateStickyWidget(newPageIndex); } // If the page hasn't switched, don't bother with any of this if (mCurrentPage == newPageIndex) return; Loading Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +39 −13 Original line number Diff line number Diff line Loading @@ -82,6 +82,9 @@ public class KeyguardHostView extends KeyguardViewBase { private KeyguardSecurityModel mSecurityModel; private KeyguardViewStateManager mViewStateManager; int mLocalStickyWidget = -1; boolean mPersitentStickyWidgetLoaded = false; private Rect mTempRect = new Rect(); /*package*/ interface TransportCallback { Loading Loading @@ -109,7 +112,7 @@ public class KeyguardHostView extends KeyguardViewBase { mAppWidgetManager = AppWidgetManager.getInstance(mContext); mSecurityModel = new KeyguardSecurityModel(context); mViewStateManager = new KeyguardViewStateManager(); mViewStateManager = new KeyguardViewStateManager(this); } @Override Loading Loading @@ -1169,6 +1172,37 @@ public class KeyguardHostView extends KeyguardViewBase { return v != null && v.getId() == R.id.keyguard_add_widget; } private boolean isMusicPage(int pageIndex) { return pageIndex >= 0 && pageIndex == getWidgetPosition(R.id.keyguard_transport_control); } private int getStickyWidget() { // The first time we query the persistent state. From that point, we use a locally updated // notion of the sticky widget page. if (!mPersitentStickyWidgetLoaded) { mLocalStickyWidget = mLockPatternUtils.getStickyAppWidgetIndex(); mPersitentStickyWidgetLoaded = true; } return mLocalStickyWidget; } public void updateStickyWidget(int index) { if (index < 0 || index >= mAppWidgetContainer.getChildCount()) { return; } if (isAddPage(index)) { return; } if (isCameraPage(index)) { return; } if (isMusicPage(index)) { return; } mLocalStickyWidget = index; } private int getAppropriateWidgetPage(boolean isMusicPlaying) { // assumes at least one widget (besides camera + add) Loading @@ -1179,7 +1213,7 @@ public class KeyguardHostView extends KeyguardViewBase { } // if we have a valid sticky widget, show it int stickyWidgetIndex = mLockPatternUtils.getStickyAppWidgetIndex(); int stickyWidgetIndex = getStickyWidget(); if (stickyWidgetIndex > -1 && stickyWidgetIndex < mAppWidgetContainer.getChildCount() && !isAddPage(stickyWidgetIndex) Loading @@ -1198,18 +1232,10 @@ public class KeyguardHostView extends KeyguardViewBase { } private void saveStickyWidgetIndex() { int stickyWidgetIndex = mAppWidgetContainer.getCurrentPage(); if (isAddPage(stickyWidgetIndex)) { stickyWidgetIndex++; } if (isCameraPage(stickyWidgetIndex)) { stickyWidgetIndex--; } if (stickyWidgetIndex < 0 || stickyWidgetIndex >= mAppWidgetContainer.getChildCount()) { stickyWidgetIndex = -1; if (DEBUG) Log.d(TAG, "saveStickyWidgetIndex: " + mLocalStickyWidget); if (mPersitentStickyWidgetLoaded && mLocalStickyWidget >= 0) { mLockPatternUtils.setStickyAppWidgetIndex(mLocalStickyWidget); } if (DEBUG) Log.d(TAG, "saveStickyWidgetIndex: " + stickyWidgetIndex); mLockPatternUtils.setStickyAppWidgetIndex(stickyWidgetIndex); } private void enableUserSelectorIfNecessary() { Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java +7 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ public class KeyguardViewStateManager implements private KeyguardWidgetPager mKeyguardWidgetPager; private ChallengeLayout mChallengeLayout; private KeyguardHostView mKeyguardHostView; private int[] mTmpPoint = new int[2]; private int[] mTmpLoc = new int[2]; Loading @@ -49,7 +50,8 @@ public class KeyguardViewStateManager implements int mChallengeTop = 0; public KeyguardViewStateManager() { public KeyguardViewStateManager(KeyguardHostView hostView) { mKeyguardHostView = hostView; } public void setPagedView(KeyguardWidgetPager pagedView) { Loading Loading @@ -145,6 +147,10 @@ public class KeyguardViewStateManager implements // We only modify the page state if it is not currently under control by the slider. // This prevents conflicts. if (mKeyguardHostView != null) { mKeyguardHostView.updateStickyWidget(newPageIndex); } // If the page hasn't switched, don't bother with any of this if (mCurrentPage == newPageIndex) return; Loading