Fix NullPointerException in enqueue actions by using Application Context#13385
Merged
TobiGr merged 1 commit intoTeamNewPipe:devfrom Mar 29, 2026
Merged
Conversation
Use getApplicationContext() instead of getContext() in ENQUEUE, ENQUEUE_NEXT, START_HERE_ON_BACKGROUND, and START_HERE_ON_POPUP entries to prevent NullPointerException when the fragment's activity context becomes null during configuration changes (e.g. device rotation). The fragment context can become null when the activity is destroyed during rotation, but the async callback from fetchItemInfoIfSparse still holds a reference to the now-detached fragment. Using Application context ensures a stable, non-null context throughout the async operation lifecycle.
5f55d7d to
07a2ab2
Compare
7 tasks
Contributor
|
Hello and thank you for the PR. Please use our PR template and read our AI policy carefully. Please link an issue with a stacktrace. The changes in this PR will be superseeded by #12032 |
Contributor
Author
Contributor
Author
|
i have updated the pr description @TobiGr |
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?
refactorbranchDescription of the changes in your PR
StreamDialogDefaultEntry, theENQUEUE,ENQUEUE_NEXT,START_HERE_ON_BACKGROUND, andSTART_HERE_ON_POPUPentries usedfragment.getContext()inside the async callback offetchItemInfoIfSparse(). Since the callback runs asynchronously, the fragment may have already been detached (e.g., due to entering fullscreen or rotating the device), causinggetContext()to returnnull.fragment.requireContext().getApplicationContext()captured before the async call, while the fragment is still attached. TheApplicationcontext is lifecycle-safe and remains valid regardless of configuration changes.Before/After Screenshots/Screen Record
N/A — no UI changes, this is a crash fix only.
Fixes the following issue(s)
APK 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