Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63554eda authored by Jason Monk's avatar Jason Monk
Browse files

Fix QS Edit flashing on exit

Always save tile specs after move and don't trigger an entire data
set changed because we are aware of all changes.

Change-Id: Ic75b9ea8ed9b7d1a11d02f9af7858f3d040ec074
Fixes: 28334197
parent fd57ea73
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
    public void setHost(QSTileHost host) {
        mHost = host;
        mPhoneStatusBar = host.getPhoneStatusBar();
        mTileAdapter.setHost(host);
    }

    public void setContainer(NotificationsQuickSettingsContainer notificationsQsContainer) {
+8 −1
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
    private Holder mCurrentDrag;
    private boolean mAccessibilityMoving;
    private int mAccessibilityFromIndex;
    private QSTileHost mHost;

    public TileAdapter(Context context) {
        mContext = context;
@@ -88,6 +89,10 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
        mItemTouchHelper = new ItemTouchHelper(mCallbacks);
    }

    public void setHost(QSTileHost host) {
        mHost = host;
    }

    @Override
    public long getItemId(int position) {
        return mTiles.get(position) != null ? mAllTiles.indexOf(mTiles.get(position))
@@ -108,7 +113,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
            newSpecs.add(mTiles.get(i).spec);
        }
        host.changeTiles(mCurrentSpecs, newSpecs);
        setTileSpecs(newSpecs);
        mCurrentSpecs = newSpecs;
    }

    public void setTileSpecs(List<String> currentSpecs) {
@@ -285,6 +290,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
        move(mAccessibilityFromIndex, position, v);
        notifyItemChanged(mAccessibilityFromIndex);
        notifyItemMoved(mAccessibilityFromIndex, position);
        saveSpecs(mHost);
    }

    private void showAccessibilityDialog(final int position, final View v) {
@@ -373,6 +379,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
                    fromLabel, (to + 1));
        }
        v.announceForAccessibility(announcement);
        saveSpecs(mHost);
        return true;
    }