From bfc0d8821cffa59929061eb2d196e99bccb000ad Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Tue, 14 May 2019 12:00:49 +0300 Subject: [PATCH] =?UTF-8?q?=C4=B0mplement=20child=20fragment=20logic=20and?= =?UTF-8?q?=20their=20retain?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mvp/fragments/NearbyParentFragment.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java index 0d8dde8ae..abcee0ea6 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/mvp/fragments/NearbyParentFragment.java @@ -78,6 +78,35 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment return view; } + @Override + public void onResume() { + super.onResume(); + resumeFragment(); + } + + /** + * Resume fragments if they exists + */ + private void resumeFragment() { + // Find the retained fragment on activity restarts + nearbyMapFragment = getMapFragment(); + nearbyListFragment = getListFragment(); + } + + /** + * Returns the map fragment added to child fragment manager previously, if exists. + */ + private NearbyMapFragment getMapFragment() { + return (NearbyMapFragment) getChildFragmentManager().findFragmentByTag(TAG_RETAINED_MAP_FRAGMENT); + } + + /** + * Returns the list fragment added to child fragment manager previously, if exists. + */ + private NearbyListFragment getListFragment() { + return (NearbyListFragment) getChildFragmentManager().findFragmentByTag(TAG_RETAINED_LIST_FRAGMENT); + } + @Override public void onLocationChangedSignificantly(LatLng latLng) {