diff --git a/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java b/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java index 1202a6bef..ca9ec1ea2 100644 --- a/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java @@ -196,16 +196,38 @@ public class BookmarkListRootFragment extends CommonsDaggerSupportFragment imple } } - public void backPressed() { - if (null != mediaDetails && mediaDetails.isVisible()) { - // todo add get list fragment - ((BookmarkFragment) getParentFragment()).tabLayout.setVisibility(View.VISIBLE); - removeFragment(mediaDetails); - setFragment(listFragment, mediaDetails); + public boolean backPressed() { + //check mediaDetailPage fragment is not null then we check mediaDetail.is Visible or not to avoid NullPointerException + if(mediaDetails!=null) { + if (mediaDetails.isVisible()) { + if(mediaDetails.backButtonClicked()) { + // mediaDetails handled the back clicked , no further action required. + return true; + } + // todo add get list fragment + ((BookmarkFragment) getParentFragment()).setupTabLayout(); + ArrayList removed=mediaDetails.getRemovedItems(); + removeFragment(mediaDetails); + ((BookmarkFragment) getParentFragment()).setScroll(true); + setFragment(listFragment, mediaDetails); + ((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 { + moveToContributionsFragment(); + } } else { - ((MainActivity) getActivity()).setSelectedItemId(NavTab.CONTRIBUTIONS.code()); + moveToContributionsFragment(); } - ((MainActivity) getActivity()).showTabs(); + // notify mediaDetails did not handled the backPressed further actions required. + return false; } void moveToContributionsFragment(){ diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java index aee11028a..6d0a3431d 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java @@ -339,12 +339,6 @@ public class ContributionsFragment getChildFragmentManager().executePendingTransactions(); } - public Intent getUploadServiceIntent(){ - Intent intent = new Intent(getActivity(), UploadService.class); - intent.setAction(UploadService.ACTION_START_SERVICE); - return intent; - } - @SuppressWarnings("ConstantConditions") private void setUploadCount() { compositeDisposable.add(okHttpJsonApiClient diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/model/NearbyResultItem.kt b/app/src/main/java/fr/free/nrw/commons/nearby/model/NearbyResultItem.kt index 8c59ed616..10b957c57 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/model/NearbyResultItem.kt +++ b/app/src/main/java/fr/free/nrw/commons/nearby/model/NearbyResultItem.kt @@ -61,9 +61,9 @@ class NearbyResultItem(private val item: ResultTuple?, fun getDescription(): ResultTuple { return description ?: ResultTuple() + } fun getEndTime(): ResultTuple { return endTime ?: ResultTuple() } - } \ No newline at end of file