diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-02-06 17:40:43 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-02-06 17:40:43 +0100 |
commit | 8bc386657e4bd582ea0897410523e27230a8e157 (patch) | |
tree | 5850aeac08fed40710b4db0e5f8e8bf03da3a63a /packages/SystemUI/src/com | |
parent | df6d6764259f800d0a57452ecd487a0643d5dde1 (diff) | |
parent | ab0b7afb26a80f5af609ccc5fb68e05a97fec901 (diff) | |
download | frameworks_base-8bc386657e4bd582ea0897410523e27230a8e157.zip frameworks_base-8bc386657e4bd582ea0897410523e27230a8e157.tar.gz frameworks_base-8bc386657e4bd582ea0897410523e27230a8e157.tar.bz2 |
Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_frameworks_base into replicant-6.0replicant-6.0-alpha-0003replicant-6.0-alpha-0002
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Diffstat (limited to 'packages/SystemUI/src/com')
5 files changed, 42 insertions, 24 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java index 995237d..0615842 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java @@ -390,34 +390,42 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On } } + private void persistRecords() { + // persist the new config. + List<String> newTiles = new ArrayList<>(); + for (TileRecord record : mRecords) { + newTiles.add(mHost.getSpec(record.tile)); + } + mHost.setTiles(newTiles); + } + public void setEditing(boolean editing) { if (mEditing == editing) return; - mEditing = editing; + final boolean isOnSettings = isOnSettingsPage(); + mQsPanelTop.setEditing(editing, isOnSettings); if (!editing) { - // persist the new config. - List<String> newTiles = new ArrayList<>(); - for (TileRecord record : mRecords) { - newTiles.add(mHost.getSpec(record.tile)); - } - mHost.setTiles(newTiles); + persistRecords(); refreshAllTiles(); - mQsPanelTop.animate().translationX(0).start(); + mQsPanelTop.setTranslationX(0); + if (isOnSettings) { + mViewPager.setCurrentItem(1, true); + } } + mEditing = editing; + mPagerAdapter.notifyDataSetChanged(); + + mPageIndicator.setEditing(editing); + mViewPager.setOffscreenPageLimit(mEditing ? getCurrentMaxPageCount() + 1 : 1); + mPagerAdapter.notifyDataSetChanged(); // clear the record state for (TileRecord record : mRecords) { setupRecord(record); drawTile(record, record.tile.getState()); } - mQsPanelTop.setEditing(editing); - mPageIndicator.setEditing(editing); - mPagerAdapter.notifyDataSetChanged(); - - mViewPager.setOffscreenPageLimit(mEditing ? getCurrentMaxPageCount() + 1 : 1); - mPagerAdapter.notifyDataSetChanged(); requestLayout(); } @@ -2110,8 +2118,8 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On CMSettings.Secure.QS_USE_MAIN_TILES, 1, currentUserId) == 1; if (firstRowLarge != mFirstRowLarge) { mFirstRowLarge = firstRowLarge; - setTiles(new ArrayList<QSTile<?>>()); // clear out states setTiles(mHost.getTiles()); + mPagerAdapter.notifyDataSetChanged(); } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java index 57c311c..5f57be1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java @@ -65,6 +65,7 @@ public class QSPanelTopView extends FrameLayout { private SettingsObserver mSettingsObserver; private boolean mListening; + private boolean mSkipAnimations; public QSPanelTopView(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); @@ -137,12 +138,11 @@ public class QSPanelTopView extends FrameLayout { boolean animateToState = !isLaidOut(); super.onLayout(changed, left, top, right, bottom); if (animateToState) { - Log.e(TAG, "first layout animating to state!"); - animateToState(); + goToState(); } } - public void setEditing(boolean editing) { + public void setEditing(boolean editing, boolean skipAnim) { mEditing = editing; if (editing) { mDisplayingInstructions = true; @@ -151,7 +151,11 @@ public class QSPanelTopView extends FrameLayout { mDisplayingInstructions = false; mDisplayingTrash = false; } - animateToState(); + if (skipAnim) { + goToState(); + } else { + animateToState(); + } } public void onStopDrag() { @@ -254,9 +258,9 @@ public class QSPanelTopView extends FrameLayout { } }); - mAnimator.setDuration(500); + mAnimator.setDuration(mSkipAnimations ? 0 : 500); mAnimator.setInterpolator(new FastOutSlowInInterpolator()); - mAnimator.setStartDelay(100); + mAnimator.setStartDelay(mSkipAnimations ? 0 : 100); mAnimator.playTogether(instructionAnimator, trashAnimator, brightnessAnimator, toastAnimator); mAnimator.start(); @@ -271,6 +275,12 @@ public class QSPanelTopView extends FrameLayout { } private void animateToState() { + mSkipAnimations = false; + post(mAnimateRunnable); + } + + private void goToState() { + mSkipAnimations = true; post(mAnimateRunnable); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/EditTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/EditTile.java index 7c9b762..7173786 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/EditTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/EditTile.java @@ -57,7 +57,7 @@ public class EditTile extends QSTile<QSTile.BooleanState> implements KeyguardMon final boolean showing = getHost().getKeyguardMonitor().isShowing(); final boolean secure = getHost().getKeyguardMonitor().isSecure(); state.visible = !showing || !secure; - state.enabled = true; + state.enabled = !showing; state.label = mContext.getString(R.string.quick_settings_edit_label); if (arg instanceof Boolean) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 2713cd0..6adbe85 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -320,7 +320,7 @@ public class NotificationPanelView extends PanelView implements }); mLockPatternUtils = new CmLockPatternUtils(getContext()); - if (mLockPatternUtils.isThirdPartyKeyguardEnabled()) { + if (mLockPatternUtils.isThirdPartyKeyguardEnabled() && mLiveLockScreenEnabled) { mThirdPartyKeyguardViewComponent = mLockPatternUtils.getThirdPartyKeyguardComponent(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java index 0bc05c4..27c8a4d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java @@ -776,7 +776,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL public void setEditing(boolean editing) { mEditing = editing; - if (mEditingDetailAdapter == null) { + if (editing && mEditingDetailAdapter == null) { mEditingDetailAdapter = new QSTile.DetailAdapter() { @Override public int getTitle() { |