summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java38
1 files changed, 23 insertions, 15 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();
}
}
}