Skip to content

Commit 75269f6

Browse files
committed
fix swipe to delete bug when CardFragment is not visible
1 parent 03f07bb commit 75269f6

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

rave_android/src/main/java/com/flutterwave/raveandroid/card/CardFragment.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -551,15 +551,17 @@ public void onCardSelected(SavedCard savedCard) {
551551
RecyclerView recyclerView = (RecyclerView) v.findViewById(R.id.rave_recycler);
552552
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
553553

554-
SwipeToDeleteCallback swipeHandler = new SwipeToDeleteCallback(requireContext()) {
555-
@Override
556-
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
557-
SavedCard savedCard = adapter.getCards().get(viewHolder.getAdapterPosition());
558-
presenter.deleteASavedCard(savedCard.getCardHash(), ravePayInitializer.getPhoneNumber(), ravePayInitializer.getPublicKey());
559-
}
560-
};
561-
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(swipeHandler);
562-
itemTouchHelper.attachToRecyclerView(recyclerView);
554+
if(isVisible()){
555+
SwipeToDeleteCallback swipeHandler = new SwipeToDeleteCallback(getActivity()) {
556+
@Override
557+
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
558+
SavedCard savedCard = adapter.getCards().get(viewHolder.getAdapterPosition());
559+
presenter.deleteASavedCard(savedCard.getCardHash(), ravePayInitializer.getPhoneNumber(), ravePayInitializer.getPublicKey());
560+
}
561+
};
562+
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(swipeHandler);
563+
itemTouchHelper.attachToRecyclerView(recyclerView);
564+
}
563565

564566
recyclerView.setAdapter(adapter);
565567
}

0 commit comments

Comments
 (0)