mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Repull request of fixes #4081 App is crash when Backbutton is pressed from Favourites Fragment(#4104)
fixes NullPointerexception in Favorities when backButton is pressed
This commit is contained in:
parent
8e9b39fa8d
commit
2d884b44ca
3 changed files with 32 additions and 9 deletions
|
|
@ -172,18 +172,26 @@ public class BookmarkListRootFragment extends CommonsDaggerSupportFragment imple
|
|||
}
|
||||
|
||||
public void backPressed() {
|
||||
if (mediaDetails.isVisible()) {
|
||||
// todo add get list fragment
|
||||
((BookmarkFragment)getParentFragment()).tabLayout.setVisibility(View.VISIBLE);
|
||||
removeFragment(mediaDetails);
|
||||
setFragment(listFragment, mediaDetails);
|
||||
((MainActivity)getActivity()).showTabs();
|
||||
//check medaiDetailPage fragment is not null then we check medaiDetail.is Visible or not to avoid NullPointerException
|
||||
if(mediaDetails!=null) {
|
||||
if (mediaDetails.isVisible()) {
|
||||
// todo add get list fragment
|
||||
((BookmarkFragment) getParentFragment()).tabLayout.setVisibility(View.VISIBLE);
|
||||
removeFragment(mediaDetails);
|
||||
setFragment(listFragment, mediaDetails);
|
||||
((MainActivity) getActivity()).showTabs();
|
||||
} else {
|
||||
moveToContributionsFragment();
|
||||
}
|
||||
} else {
|
||||
((MainActivity) getActivity()).setSelectedItemId(NavTab.CONTRIBUTIONS.code());
|
||||
((MainActivity)getActivity()).showTabs();
|
||||
moveToContributionsFragment();
|
||||
}
|
||||
}
|
||||
|
||||
void moveToContributionsFragment(){
|
||||
((MainActivity) getActivity()).setSelectedItemId(NavTab.CONTRIBUTIONS.code());
|
||||
((MainActivity) getActivity()).showTabs();
|
||||
}
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
Log.d("deneme8","on media clicked");
|
||||
|
|
|
|||
|
|
@ -631,5 +631,10 @@ public class ContributionsFragment
|
|||
fetchCampaigns();
|
||||
}
|
||||
}
|
||||
|
||||
// Getter for mediaDetailPagerFragment
|
||||
public MediaDetailPagerFragment getMediaDetailPagerFragment() {
|
||||
return mediaDetailPagerFragment;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public class MainActivity extends BaseActivity
|
|||
private ExploreFragment exploreFragment;
|
||||
private BookmarkFragment bookmarkFragment;
|
||||
public ActiveFragment activeFragment;
|
||||
private MediaDetailPagerFragment mediaDetailPagerFragment;
|
||||
|
||||
@Inject
|
||||
public LocationServiceManager locationManager;
|
||||
|
|
@ -239,7 +240,16 @@ public class MainActivity extends BaseActivity
|
|||
public void onBackPressed() {
|
||||
if (contributionsFragment != null && activeFragment == ActiveFragment.CONTRIBUTIONS) {
|
||||
// Meas that contribution fragment is visible
|
||||
contributionsFragment.backButtonClicked();
|
||||
mediaDetailPagerFragment=contributionsFragment.getMediaDetailPagerFragment();
|
||||
if (mediaDetailPagerFragment ==null) { //means you open the app currently and not open mediaDetailPage fragment
|
||||
super.onBackPressed();
|
||||
} else if (mediaDetailPagerFragment!=null) {
|
||||
if(!mediaDetailPagerFragment.isVisible()){ //means you are at contributions fragement
|
||||
super.onBackPressed();
|
||||
} else { //mean you are at mediaDetailPager Fragment
|
||||
contributionsFragment.backButtonClicked();
|
||||
}
|
||||
}
|
||||
} else if (nearbyParentFragment != null && activeFragment == ActiveFragment.NEARBY) {
|
||||
// Means that nearby fragment is visible
|
||||
/* If function nearbyParentFragment.backButtonClick() returns false, it means that the bottomsheet is
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue