diff options
| author | 2019-03-27 15:24:43 +0000 | |
|---|---|---|
| committer | 2019-03-27 15:24:43 +0000 | |
| commit | 1d8b721ee09fc539dab026e0131e86555b82ebc9 (patch) | |
| tree | 27424ee5ddc834c6606c1ec8fd5ef22fe249cd65 | |
| parent | 13b1b293a07c5903e3c8c3514a1d8bf073b78287 (diff) | |
| parent | b6a127f9509e06c9c0baf04407475148b305a452 (diff) | |
Merge "Fix TB bugs in QSCustomizer TileAdapter"
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java index 608f646e77a4..8ed5424cf673 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java @@ -113,6 +113,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta public void saveSpecs(QSTileHost host) { List<String> newSpecs = new ArrayList<>(); + clearAccessibilityState(); for (int i = 1; i < mTiles.size() && mTiles.get(i) != null; i++) { newSpecs.add(mTiles.get(i).spec); } @@ -120,6 +121,17 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta mCurrentSpecs = newSpecs; } + private void clearAccessibilityState() { + if (mAccessibilityAction == ACTION_ADD) { + // Remove blank tile from last spot + mTiles.remove(--mEditIndex); + // Update the tile divider position + mTileDividerIndex--; + notifyDataSetChanged(); + } + mAccessibilityAction = ACTION_NONE; + } + public void resetTileSpecs(QSTileHost host, List<String> specs) { // Notify the host so the tiles get removed callbacks. host.changeTiles(mCurrentSpecs, specs); @@ -333,8 +345,6 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta // Remove the placeholder. mTiles.remove(mEditIndex--); notifyItemRemoved(mEditIndex); - // Don't remove items when the last position is selected. - if (position == mEditIndex - 1) position--; } mAccessibilityAction = ACTION_NONE; move(mAccessibilityFromIndex, position, v); @@ -372,6 +382,8 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta mAccessibilityAction = ACTION_ADD; // Add placeholder for last slot. mTiles.add(mEditIndex++, null); + // Update the tile divider position + mTileDividerIndex++; mNeedsFocus = true; notifyDataSetChanged(); } |