Fix NullPointerException in onBackPressed() (#6249)

This commit is contained in:
Sonal Yadav 2025-03-17 04:23:58 +05:30 committed by GitHub
parent e1466c866b
commit 67ac92ff57
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -387,37 +387,42 @@ after opening the app.
}
override fun onBackPressed() {
if (contributionsFragment != null && activeFragment == ActiveFragment.CONTRIBUTIONS) {
when (activeFragment) {
ActiveFragment.CONTRIBUTIONS -> {
// Means that contribution fragment is visible
if (!contributionsFragment!!.backButtonClicked()) { //If this one does not wan't to handle
if (contributionsFragment?.backButtonClicked() != true) { //If this one does not want to handle
// the back press, let the activity do so
super.onBackPressed()
}
} else if (nearbyParentFragment != null && activeFragment == ActiveFragment.NEARBY) {
}
ActiveFragment.NEARBY -> {
// Means that nearby fragment is visible
/* If function nearbyParentFragment.backButtonClick() returns false, it means that the bottomsheet is
not expanded. So if the back button is pressed, then go back to the Contributions tab */
if (!nearbyParentFragment!!.backButtonClicked()) {
supportFragmentManager.beginTransaction().remove(nearbyParentFragment!!)
.commit()
if (nearbyParentFragment?.backButtonClicked() != true) {
nearbyParentFragment?.let {
supportFragmentManager.beginTransaction().remove(it).commit()
}
setSelectedItemId(NavTab.CONTRIBUTIONS.code())
}
} else if (exploreFragment != null && activeFragment == ActiveFragment.EXPLORE) {
// Means that explore fragment is visible
if (!exploreFragment!!.onBackPressed()) {
if (applicationKvStore!!.getBoolean("login_skipped")) {
}
ActiveFragment.EXPLORE -> {
// Explore Fragment is visible
if (exploreFragment?.onBackPressed() != true) {
if (applicationKvStore?.getBoolean("login_skipped") == true) {
super.onBackPressed()
} else {
setSelectedItemId(NavTab.CONTRIBUTIONS.code())
}
}
} else if (bookmarkFragment != null && activeFragment == ActiveFragment.BOOKMARK) {
}
ActiveFragment.BOOKMARK -> {
// Means that bookmark fragment is visible
bookmarkFragment!!.onBackPressed()
} else {
bookmarkFragment?.onBackPressed()
}
else -> {
super.onBackPressed()
}
}
}
override fun onBackStackChanged() {
//initBackButton();