]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfilesRecyclerViewAdapter.java
more pronounced day/month delimiters in the transaction list
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / profiles / ProfilesRecyclerViewAdapter.java
index 688cd6d42f69deee4ab5d518d73b5445e0d284e6..08a071ddf63106703fbd10c00c501c6065b22599 100644 (file)
@@ -81,12 +81,13 @@ public class ProfilesRecyclerViewAdapter
                                   @NonNull RecyclerView.ViewHolder viewHolder,
                                   @NonNull RecyclerView.ViewHolder target) {
                 final List<Profile> profiles = new ArrayList<>(listDiffer.getCurrentList());
-                Collections.swap(profiles, viewHolder.getAdapterPosition(),
-                        target.getAdapterPosition());
+                Collections.swap(profiles, viewHolder.getBindingAdapterPosition(),
+                        target.getBindingAdapterPosition());
                 DB.get()
                   .getProfileDAO()
                   .updateOrder(profiles, null);
-//                notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
+//                notifyItemMoved(viewHolder.getBindingAdapterPosition(), target
+//                .getBindingAdapterPosition());
                 return true;
             }
             @Override
@@ -171,11 +172,12 @@ public class ProfilesRecyclerViewAdapter
 
         holder.mEditButton.setOnClickListener(view -> {
             Profile p = listDiffer.getCurrentList()
-                                  .get(holder.getAdapterPosition());
+                                  .get(holder.getBindingAdapterPosition());
             ProfileDetailActivity.start(view.getContext(), p);
         });
 
-        final boolean sameProfile = currentProfile.getId() == profile.getId();
+        final boolean sameProfile =
+                currentProfile != null && currentProfile.getId() == profile.getId();
         holder.itemView.setBackground(
                 sameProfile ? new ColorDrawable(Colors.tableRowDarkBG) : null);
         if (editingProfiles()) {
@@ -252,7 +254,7 @@ public class ProfilesRecyclerViewAdapter
             if (editingProfiles())
                 return;
             Profile profile = listDiffer.getCurrentList()
-                                        .get(getAdapterPosition());
+                                        .get(getBindingAdapterPosition());
             if (Data.getProfile() != profile) {
                 debug("profiles", "Setting profile to " + profile.getName());
                 Data.drawerOpen.setValue(false);