From 277d76e4679323b9285acf94e1d22dee1f14a28e Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Sun, 26 Nov 2017 22:10:10 +0100 Subject: [PATCH] Fix key profile sorting and simplify its logic a bit --- .../java/me/impy/aegis/KeyProfileAdapter.java | 20 ++----------------- .../main/java/me/impy/aegis/MainActivity.java | 12 ++++------- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java b/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java index 653f2c24..ee8a3dbb 100644 --- a/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java +++ b/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java @@ -41,29 +41,13 @@ public class KeyProfileAdapter extends RecyclerView.Adapter comparator = new Comparator() { - @Override - public int compare(KeyProfile keyProfile, KeyProfile t1) { - return keyProfile.getEntry().getOrder() - t1.getEntry().getOrder(); - } - }; - - for (int i = startPosition; i < _keyProfiles.size(); i++) { + // update the order of all key profiles + for (int i = 0; i < _keyProfiles.size(); i++) { _keyProfiles.get(i).getEntry().setOrder(i + 1); } } diff --git a/app/src/main/java/me/impy/aegis/MainActivity.java b/app/src/main/java/me/impy/aegis/MainActivity.java index 2644606e..79f58947 100644 --- a/app/src/main/java/me/impy/aegis/MainActivity.java +++ b/app/src/main/java/me/impy/aegis/MainActivity.java @@ -122,15 +122,7 @@ public class MainActivity extends AppCompatActivity { ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(_keyProfileAdapter); ItemTouchHelper touchHelper = new ItemTouchHelper(callback); touchHelper.attachToRecyclerView(rvKeyProfiles); - rvKeyProfiles.setAdapter(_keyProfileAdapter); - Comparator comparator = new Comparator() { - @Override - public int compare(KeyProfile keyProfile, KeyProfile t1) { - return keyProfile.getEntry().getOrder() - t1.getEntry().getOrder(); - } - }; - Collections.sort(_keyProfiles, comparator); } @Override @@ -445,6 +437,10 @@ public class MainActivity extends AppCompatActivity { } catch (Exception e) { e.printStackTrace(); } + + Collections.sort(_keyProfiles, (p1, p2) -> { + return p1.getEntry().getOrder() >= p2.getEntry().getOrder() ? 1 : -1; + }); } private void updateLockIcon() {