diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java index 9e98897d..6b8022c4 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java @@ -173,6 +173,8 @@ public class WatchManager { pins.remove(pin); pin.destroyWatcher(); Chan.getDatabaseManager().removePin(pin); + // Update the new orders + updateDatabase(); onPinsChanged(); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java index 31b5db65..51ddfe4f 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java @@ -180,6 +180,7 @@ public class PinAdapter extends RecyclerView.Adapter im @Override public void removeItem(int position) { + applyOrder(); callback.onPinRemoved(pins.get(position - PIN_OFFSET)); } @@ -197,10 +198,7 @@ public class PinAdapter extends RecyclerView.Adapter im @Override public void movingDone() { - for (int i = 0; i < pins.size(); i++) { - Pin pin = pins.get(i); - pin.order = i; - } + applyOrder(); } public void updatePinViewHolder(PinViewHolder holder, Pin pin) { @@ -258,6 +256,13 @@ public class PinAdapter extends RecyclerView.Adapter im } } + private void applyOrder() { + for (int i = 0; i < pins.size(); i++) { + Pin pin = pins.get(i); + pin.order = i; + } + } + public class PinViewHolder extends RecyclerView.ViewHolder { private boolean highlighted; private ThumbnailView image;