Repository navigation
[Bandcamp] Fix NetworkOnMainThreadException on rotate / back - #13955
Open
ngan-giang-phan wants to merge 6 commits into
Open
ngan-giang-phan wants to merge 6 commits into
ngan-giang-phan wants to merge 6 commits into
Conversation
Closed
4 of 7 tasks
Contributor
|
Thank you for the contribution! Is it part of the yearly ANU assignement? I'll review this PR in the next few days. |
TobiGr
self-requested a review
October 25, 2026 17:29
|
Author
Yes, it is. Thanks for taking the time to review it! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What is it?
Description of the changes in your PR
Fixes
NetworkOnMainThreadExceptioncrash when rotating on a Bandcamp artist page, or when pressing system back from an album to the artist page. This is becausehandleResult()callsfromQuery()which makes a network request on main thread.lightweightTabHandlerfield to hold the replacement link handler, so it can be built on a background thread and passed to the main threadhandleResultto acreateLightweightTabHandlerhelper, to be called on the background threadhandleResultno longer callsfromQueryand swaps in the prepared handlerloadResultmakes sure network requests are called on the background thread viadoOnSuccessBefore/After Screenshots/Screen Record
Before:
before_back.webm
before_rotate.webm
After:
after_back.webm
after_rotate.webm
Fixes the following issue(s)
Testing/QA
Devices
Steps for testing
APK for testing
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.
Due diligence