wordpress-mobile / WordPress-Android

WordPress for Android
http://android.wordpress.org
GNU General Public License v2.0
2.92k stars 1.3k forks source link

EditPost: fix lateinit property siteModel not initialized error #20676

Closed zwarm closed 3 weeks ago

zwarm commented 3 weeks ago

Fixes #20673

This PR addresses an issue where the lateinit property siteModel was not being initialized under certain circumstances. The problem occurred when the finish() method did not execute immediately after initialization failure, causing the activity to continue execution despite siteModel being uninitialized.

To resolve this issue, I refactored the initializeSiteModelAndFinishIfNeeded method, now called initializeSiteModel, to return a Boolean indicating whether siteModel was successfully initialized. If siteModel could not be initialized, the method now returns false. In onCreate(), I introduced a check to immediately call finish() if the method returns false

This change ensures that siteModel is properly initialized, and the activity is promptly terminated if initialization fails, thus preventing runtime errors related to lateinit property initialization.

Note: I could not recreate the issue live, but I could by setting onCreate() to immediately finish() and then validating that the next line was still executed.


To Test:

Regression Notes

  1. Potential unintended areas of impact Edit Post does not work

  2. What I did to test those areas of impact (or what existing automated tests I relied on) Manual testing

  3. What automated tests I added (or what prevented me from doing so) N/A


PR Submission Checklist:


Testing Checklist (strike-out the not-applying and unnecessary ones): N/A

dangermattic commented 3 weeks ago
1 Warning
:warning: This PR is assigned to the milestone 24.7 ❄️. The due date for this milestone has already passed.
Please assign it to a milestone with a later deadline or check whether the release for this milestone has already been finished.

Generated by :no_entry_sign: Danger

sonarcloud[bot] commented 3 weeks ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

wpmobilebot commented 3 weeks ago
Jetpack📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack Jetpack
FlavorJalapeno
Build TypeDebug
Versionpr20676-6b3dfc5
Commit6b3dfc57e8bf41b63468d986e4871235c7c3ae55
Direct Downloadjetpack-prototype-build-pr20676-6b3dfc5.apk
Note: Google Login is not supported on these builds.
wpmobilebot commented 3 weeks ago
WordPress📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress WordPress
FlavorJalapeno
Build TypeDebug
Versionpr20676-6b3dfc5
Commit6b3dfc57e8bf41b63468d986e4871235c7c3ae55
Direct Downloadwordpress-prototype-build-pr20676-6b3dfc5.apk
Note: Google Login is not supported on these builds.