summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-02-06 17:40:43 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-02-06 17:40:43 +0100
commit8bc386657e4bd582ea0897410523e27230a8e157 (patch)
tree5850aeac08fed40710b4db0e5f8e8bf03da3a63a /packages/SystemUI/src/com
parentdf6d6764259f800d0a57452ecd487a0643d5dde1 (diff)
parentab0b7afb26a80f5af609ccc5fb68e05a97fec901 (diff)
downloadframeworks_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')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java38
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java22
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/EditTile.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java2
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() {