diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/BottomSheetAdapter.kt b/app/src/main/java/fr/free/nrw/commons/nearby/BottomSheetAdapter.kt index 8bcc21e40..a83d49f75 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/BottomSheetAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/nearby/BottomSheetAdapter.kt @@ -68,7 +68,21 @@ class BottomSheetAdapter( item.imageResourceId == R.drawable.ic_round_star_border_24px ) { item.imageResourceId = icon - this.notifyItemChanged(index) + notifyItemChanged(index) + return + } + } + } + + fun toggleBookmarkIcon() { + itemList.forEachIndexed { index, item -> + if(item.imageResourceId == R.drawable.ic_round_star_filled_24px) { + item.imageResourceId = R.drawable.ic_round_star_border_24px + notifyItemChanged(index) + return + } else if(item.imageResourceId == R.drawable.ic_round_star_border_24px){ + item.imageResourceId = R.drawable.ic_round_star_filled_24px + notifyItemChanged(index) return } } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index bba19b181..05a662c71 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -2145,6 +2145,10 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment ); } + private void toggleBookmarkButtonImage() { + bottomSheetAdapter.toggleBookmarkIcon(); + } + @Override public void onAttach(final Context context) { super.onAttach(context); @@ -2304,11 +2308,11 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment switch (item.getImageResourceId()) { case R.drawable.ic_round_star_border_24px: presenter.toggleBookmarkedStatus(selectedPlace, scope); - updateBookmarkButtonImage(selectedPlace); + toggleBookmarkButtonImage(); break; case R.drawable.ic_round_star_filled_24px: presenter.toggleBookmarkedStatus(selectedPlace, scope); - updateBookmarkButtonImage(selectedPlace); + toggleBookmarkButtonImage(); break; case R.drawable.ic_directions_black_24dp: Utils.handleGeoCoordinates(this.getContext(), selectedPlace.getLocation());