mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-30 22:34:02 +01:00 
			
		
		
		
	Fixes #4178 Bookmarks not Updated in Picture section after remove
This commit is contained in:
		
							parent
							
								
									edef23f03d
								
							
						
					
					
						commit
						b58d135b4c
					
				
					 2 changed files with 33 additions and 0 deletions
				
			
		|  | @ -19,10 +19,13 @@ import fr.free.nrw.commons.R; | ||||||
| import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsFragment; | import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsFragment; | ||||||
| import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesFragment; | import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesFragment; | ||||||
| import fr.free.nrw.commons.category.CategoryImagesCallback; | import fr.free.nrw.commons.category.CategoryImagesCallback; | ||||||
|  | import fr.free.nrw.commons.category.GridViewAdapter; | ||||||
| import fr.free.nrw.commons.contributions.MainActivity; | import fr.free.nrw.commons.contributions.MainActivity; | ||||||
| import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; | import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; | ||||||
| import fr.free.nrw.commons.media.MediaDetailPagerFragment; | import fr.free.nrw.commons.media.MediaDetailPagerFragment; | ||||||
| import fr.free.nrw.commons.navtab.NavTab; | import fr.free.nrw.commons.navtab.NavTab; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.Iterator; | ||||||
| 
 | 
 | ||||||
| public class BookmarkListRootFragment extends CommonsDaggerSupportFragment implements | public class BookmarkListRootFragment extends CommonsDaggerSupportFragment implements | ||||||
|     FragmentManager.OnBackStackChangedListener, |     FragmentManager.OnBackStackChangedListener, | ||||||
|  | @ -183,9 +186,19 @@ public class BookmarkListRootFragment extends CommonsDaggerSupportFragment imple | ||||||
|       if (mediaDetails.isVisible()) { |       if (mediaDetails.isVisible()) { | ||||||
|         // todo add get list fragment |         // todo add get list fragment | ||||||
|         ((BookmarkFragment) getParentFragment()).tabLayout.setVisibility(View.VISIBLE); |         ((BookmarkFragment) getParentFragment()).tabLayout.setVisibility(View.VISIBLE); | ||||||
|  |         ArrayList<Integer> removed=mediaDetails.getRemovedItems(); | ||||||
|         removeFragment(mediaDetails); |         removeFragment(mediaDetails); | ||||||
|         setFragment(listFragment, mediaDetails); |         setFragment(listFragment, mediaDetails); | ||||||
|         ((MainActivity) getActivity()).showTabs(); |         ((MainActivity) getActivity()).showTabs(); | ||||||
|  |         if(listFragment instanceof BookmarkPicturesFragment){ | ||||||
|  |           GridViewAdapter adapter=((GridViewAdapter)((BookmarkPicturesFragment)listFragment).getAdapter()); | ||||||
|  |           Iterator i = removed.iterator(); | ||||||
|  |           while (i.hasNext()) { | ||||||
|  |             adapter.remove(adapter.getItem((int)i.next())); | ||||||
|  |           } | ||||||
|  |           mediaDetails.clearRemoved(); | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|       } else { |       } else { | ||||||
|         moveToContributionsFragment(); |         moveToContributionsFragment(); | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  | @ -36,6 +36,7 @@ import fr.free.nrw.commons.utils.ImageUtils; | ||||||
| import fr.free.nrw.commons.utils.NetworkUtils; | import fr.free.nrw.commons.utils.NetworkUtils; | ||||||
| import fr.free.nrw.commons.utils.ViewUtil; | import fr.free.nrw.commons.utils.ViewUtil; | ||||||
| import io.reactivex.disposables.CompositeDisposable; | import io.reactivex.disposables.CompositeDisposable; | ||||||
|  | import java.util.ArrayList; | ||||||
| import java.util.Objects; | import java.util.Objects; | ||||||
| import javax.inject.Inject; | import javax.inject.Inject; | ||||||
| import timber.log.Timber; | import timber.log.Timber; | ||||||
|  | @ -62,6 +63,15 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple | ||||||
|     private boolean isFromFeaturedRootFragment; |     private boolean isFromFeaturedRootFragment; | ||||||
|     private int position; |     private int position; | ||||||
| 
 | 
 | ||||||
|  |     private ArrayList<Integer> removedItems=new ArrayList<Integer>(); | ||||||
|  | 
 | ||||||
|  |     public void clearRemoved(){ | ||||||
|  |         removedItems.clear(); | ||||||
|  |     } | ||||||
|  |     public ArrayList<Integer> getRemovedItems() { | ||||||
|  |         return removedItems; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public MediaDetailPagerFragment() { |     public MediaDetailPagerFragment() { | ||||||
|         this(false, false); |         this(false, false); | ||||||
|     } |     } | ||||||
|  | @ -298,6 +308,16 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple | ||||||
| 
 | 
 | ||||||
|     private void updateBookmarkState(MenuItem item) { |     private void updateBookmarkState(MenuItem item) { | ||||||
|         boolean isBookmarked = bookmarkDao.findBookmark(bookmark); |         boolean isBookmarked = bookmarkDao.findBookmark(bookmark); | ||||||
|  |         if(isBookmarked) { | ||||||
|  |             if(removedItems.contains(pager.getCurrentItem())) { | ||||||
|  |                 removedItems.remove(new Integer(pager.getCurrentItem())); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         else { | ||||||
|  |             if(!removedItems.contains(pager.getCurrentItem())) { | ||||||
|  |                 removedItems.add(pager.getCurrentItem()); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|         int icon = isBookmarked ? R.drawable.menu_ic_round_star_filled_24px : R.drawable.menu_ic_round_star_border_24px; |         int icon = isBookmarked ? R.drawable.menu_ic_round_star_filled_24px : R.drawable.menu_ic_round_star_border_24px; | ||||||
|         item.setIcon(icon); |         item.setIcon(icon); | ||||||
|     } |     } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Aditya-Srivastav
						Aditya-Srivastav