Repository navigation
[refactor] Crash when trying to play in popup via list longpress menu #13597
Description
Checklist
- I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
- I made sure that there are no existing issues - open or closed - which I could contribute my information to.
- I have read the FAQ and my problem isn't listed.
- I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
- This issue contains only one bug.
- I have read and understood the contribution guidelines.
- I have read and understood the AI policy. The content of this bug report is not generated by AI.
Affected version
0.28.5-57-202604250235 refactor nightly
Steps to reproduce the bug
- Ensure that the app does not have the permission to be displayed over other apps
- Go to a list
- Start the video in popup mode via the longpress dialog
Expected behavior
Dialog explaining the permission request is shown
Actual behavior
The app crashes
Screenshots/Screen recordings
No response
Logs
Crash: View class androidx.appcompat.widget.AppCompatTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
Stacktrace
``` View class androidx.appcompat.widget.AppCompatTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant). Shutting down VM FATAL EXCEPTION: main Process: org.schabi.newpipe.debug.refactor, PID: 6704 java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:902) at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:865) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:748) at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:96) at androidx.appcompat.app.AlertController.installContent(AlertController.java:232) at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:278) at android.app.Dialog.dispatchOnCreate(Dialog.java:436) at android.app.Dialog.show(Dialog.java:325) at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1008) at org.schabi.newpipe.util.PermissionHelper.checkSystemAlertWindowPermission(PermissionHelper.java:157) at org.schabi.newpipe.util.PermissionHelper.isPopupEnabledElseAsk(PermissionHelper.java:175) at org.schabi.newpipe.util.NavigationHelper.playOnPopupPlayer(NavigationHelper.java:145) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$8(StreamDialogDefaultEntry.java:82) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda11.accept(D8$$SyntheticClass:0) at org.schabi.newpipe.util.SparseItemUtil.fetchItemInfoIfSparse(SparseItemUtil.java:54) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$9(StreamDialogDefaultEntry.java:81) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda4.onClick(D8$$SyntheticClass:0) at org.schabi.newpipe.info_list.dialog.InfoItemDialog.lambda$new$2(InfoItemDialog.java:76) at org.schabi.newpipe.info_list.dialog.InfoItemDialog$$ExternalSyntheticLambda2.onClick(D8$$SyntheticClass:0) at androidx.appcompat.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1068) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1274) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3287) at android.widget.AbsListView$3.run(AbsListView.java:4266) at android.os.Handler.handleCallback(Handler.java:995) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932) ACRA caught a IllegalStateException for org.schabi.newpipe.debug.refactor java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:902) at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:865) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:748) at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:96) at androidx.appcompat.app.AlertController.installContent(AlertController.java:232) at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:278) at android.app.Dialog.dispatchOnCreate(Dialog.java:436) at android.app.Dialog.show(Dialog.java:325) at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1008) at org.schabi.newpipe.util.PermissionHelper.checkSystemAlertWindowPermission(PermissionHelper.java:157) at org.schabi.newpipe.util.PermissionHelper.isPopupEnabledElseAsk(PermissionHelper.java:175) at org.schabi.newpipe.util.NavigationHelper.playOnPopupPlayer(NavigationHelper.java:145) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$8(StreamDialogDefaultEntry.java:82) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda11.accept(D8$$SyntheticClass:0) at org.schabi.newpipe.util.SparseItemUtil.fetchItemInfoIfSparse(SparseItemUtil.java:54) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$9(StreamDialogDefaultEntry.java:81) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda4.onClick(D8$$SyntheticClass:0) at org.schabi.newpipe.info_list.dialog.InfoItemDialog.lambda$new$2(InfoItemDialog.java:76) at org.schabi.newpipe.info_list.dialog.InfoItemDialog$$ExternalSyntheticLambda2.onClick(D8$$SyntheticClass:0) at androidx.appcompat.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1068) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1274) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3287) at android.widget.AbsListView$3.run(AbsListView.java:4266) at android.os.Handler.handleCallback(Handler.java:995) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932) ``
Affected Android/Custom ROM version
API 36
Affected device model
No response
Additional information
Might be solved by #12032 by passing the correct context.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity
[-][refactor][/-][+][refactor] Crash when trying to play in popup via list longpress menu[/+]alyshaizzati commentedon Oct 16, 2026
Hi! I've successfully reproduced this crash on my Android device (tested on v0.29.1). I'd love to take on this issue. Could I be assigned to this?
ShareASmile commentedon Oct 26, 2026
@alyshaizzati Have you reproduced it on refactor branch nightly or v0.29.1 (based on dev)..
Please clear the air first before taking it up because OP has mentioned refactor branch specifically.